コード例 #1
0
ファイル: RecordVideo.xaml.cs プロジェクト: Chengxuan/BThere
        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;
            });


        }
コード例 #2
0
ファイル: RecordVideo.xaml.cs プロジェクト: Chengxuan/BThere
        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.
                        });
                });
        }