private void PopulateDBTable() { usrStatusTable = mobileServiceClient.GetTable<GlobalVideos>(); //Save data to windows azure Mobile service //create insert object usrStatusTable.Insert(item, (res, err) => //do the Insert { if (err != null) { //handle it errMsg.Text = "Failed!!!"; } else { errMsg.Text = "Finish!!!"; } item = res; StartRecord_BTN.Content = "OK"; StartRecord_BTN.IsEnabled = true; }); }
public void UploadVideo(string countryName, double longtitude, double latitude, Stream videoStream, Stream thumbnailStream) { errMsg.Text = " Uploading...\r\nPlease wait until upload Finish!"; // By using CloudStorageClientResolverAccountAndKey.DevelopmentStorageAccountResolver you can connect directly // against the Windows Azure Storage Emulator. DateTime dateNow = DateTime.Now; string UniqeID = dateNow.Year.ToString() + "" + dateNow.Month.ToString() + "" + dateNow.Day.ToString() + "" + dateNow.Hour.ToString() + "" + dateNow.Minute.ToString() + "" + dateNow.Second.ToString() + "" + App.UID.ToString(); // By using CloudStorageClientResolverAccountAndKey you can connect to your Windows Azure Storage Services account directly. // Just replace your Windows Azure Storage account credentials and endpoints. var resolver = new CloudStorageClientResolverAccountAndKey( new StorageCredentialsAccountAndKey("bethere", "Xg7EJNfeb0g7dJXX5aKFN2GN9oPpzZQSMeF+HwO+z/WFaIOE6gaV5QNsprpfWuV8pQcCvYryBpxRE6qpT9Yd5Q=="), new Uri("http://bethere.blob.core.windows.net"), new Uri("http://bethere.queue.core.windows.net"), new Uri("http://bethere.table.core.windows.net"), Deployment.Current.Dispatcher); CloudStorageContext.Current.Resolver = resolver; var blobClient = CloudStorageContext.Current.Resolver.CreateCloudBlobClient(); var container = blobClient.GetContainerReference(countryName + "video"); container.CreateIfNotExist( BlobContainerPublicAccessType.Container, Response => { var blobVideo = container.GetBlobReference(UniqeID + ".mp4"); var sampleStreamVideo = videoStream; //new MemoryStream(Encoding.UTF8.GetBytes("xuan")); blobVideo.UploadFromStream( sampleStreamVideo, ResponseVideo => { videoFileFlag = ResponseVideo.Success; if (videoFileFlag) { var containerjpg = blobClient.GetContainerReference(countryName + "thumbnail"); containerjpg.CreateIfNotExist( BlobContainerPublicAccessType.Container, ResponseBlob => { var blobImage = containerjpg.GetBlobReference(UniqeID + ".jpg"); var sampleStreamImage = thumbnailStream; //new MemoryStream(Encoding.UTF8.GetBytes("xuan")); blobImage.UploadFromStream( sampleStreamImage, ReponseImage => { imageFileFlag = ReponseImage.Success; if (imageFileFlag) { //Save data to windows azure Mobile service //create insert object item = new GlobalVideos { Countryname = countryName, Date = dateNow, Latitude = latitude, Longtitude = longtitude, Location = locationString, Videourl = "http://bethere.blob.core.windows.net/" + countryName + "video/" + UniqeID + ".mp4", Thumbnailurl = "http://bethere.blob.core.windows.net/" + countryName + "thumbnail/" + UniqeID + ".jpg" }; PopulateDBTable(); } else { imageFileFlag = false; errMsg.Text = "Failed!!!"; StartRecord_BTN.Content = "OK"; StartRecord_BTN.IsEnabled = true; } // Some logic here. }); }); } else { videoFileFlag = false; imageFileFlag = false; errMsg.Text = "Failed!!!"; StartRecord_BTN.Content = "OK"; StartRecord_BTN.IsEnabled = true; //operation failed } // Some logic here. }); }); }