private async void PagePrev() { var queryObject = new BlobManipulationData(); if (currentPage > 0) { queryObject.Skip = 10 * --currentPage; } else { queryObject.Skip = 0; } queryObject.Take = PAGING_TAKE; queryObject.ContainerName = "testcontainer"; var dataToken = JToken.FromObject(queryObject); var blobsJToken = await App.MobileService.InvokeApiAsync("pageblobs", dataToken); var blobs = JsonConvert.DeserializeObject(blobsJToken.ToString()); var source = blobsJToken.Values <string>("name").ToList <string>(); this.lstBlobs.ItemsSource = source; }
private async void Upld() { var filePicker = new FileOpenPicker(); filePicker.SuggestedStartLocation = PickerLocationId.ComputerFolder; filePicker.FileTypeFilter.Clear(); filePicker.FileTypeFilter.Add("*"); var selectedFile = await filePicker.PickSingleFileAsync(); if (selectedFile != null) { var stream = await selectedFile.OpenStreamForReadAsync(); stream.Position = 0; var fileData = new byte[stream.Length]; await stream.ReadAsync(fileData, 0, (int)stream.Length); var queryObject = new BlobManipulationData(); queryObject.BlobName = selectedFile.Name; queryObject.BlobData = fileData; queryObject.ContainerName = "testcontainer"; var dataToken = JToken.FromObject(queryObject); await App.MobileService.InvokeApiAsync("uploadblob", dataToken); } }
public async Task <IEnumerable <CloudBlockBlob> > PageBlobsInContainer(BlobManipulationData data) { await InitBlobContainer(data); var blobs = container.ListBlobs().OfType <CloudBlockBlob>().Skip(data.Skip).Take(data.Take); return(blobs); }
public async Task DeleteBlob(BlobManipulationData data) { await InitBlobContainer(data); var blob = container.GetBlockBlobReference(data.BlobName); await blob.DeleteIfExistsAsync(); }
public async Task <IEnumerable <CloudBlockBlob> > GetAllBlobsInContainer(BlobManipulationData data) { await InitBlobContainer(data); var blobs = container.ListBlobs().OfType <CloudBlockBlob>(); return(blobs); }
public async Task UploadBlob(BlobManipulationData data) { await InitBlobContainer(data); var blob = container.GetBlockBlobReference(data.BlobName); await blob.UploadFromByteArrayAsync(data.BlobData, 0, data.BlobData.Length); }
public async Task <int> GetBlobCount(BlobManipulationData data) { return(await Task.Run <int>(async() => { await InitBlobContainer(data); //Lazy. Therefore convert that thing to a list. return container.ListBlobs().ToList().Count; })); }
private async void Del(string blobName) { var queryObject = new BlobManipulationData(); queryObject.BlobName = queryObject.BlobName = (string)lstBlobs.SelectedValue; queryObject.ContainerName = "testcontainer"; var dataToken = JToken.FromObject(queryObject); var blobsJToken = await App.MobileService.InvokeApiAsync("deleteblob", dataToken); }
/// <summary> /// Initializes the BLOB container. /// </summary> /// <param name="data">The data.</param> /// <returns></returns> private async Task InitBlobContainer(BlobManipulationData data) { var storageConnection = Services.Settings["StorageConnectionString"]; storageAccount = CloudStorageAccount.Parse(storageConnection); blobClient = storageAccount.CreateCloudBlobClient(); container = blobClient.GetContainerReference(data.ContainerName); await container.CreateIfNotExistsAsync(); }
private async Task LoadFirstTenBlobEntries() { var queryObject = new BlobManipulationData(); queryObject.Skip = PAGING_SKIP; queryObject.Take = PAGING_TAKE; queryObject.ContainerName = "testcontainer"; var dataToken = JToken.FromObject(queryObject); var blobsJToken = await App.MobileService.InvokeApiAsync("pageblobs", dataToken); var blobs = JsonConvert.DeserializeObject(blobsJToken.ToString()); var source = blobsJToken.Values <string>("name").ToList <string>(); this.lstBlobs.ItemsSource = source; }
public async Task RenameBlob(BlobManipulationData data) { await InitBlobContainer(data); var blob = container.GetBlockBlobReference(data.BlobName); var exists = await blob.ExistsAsync(); if (exists) { var renameTo = container.GetBlockBlobReference(data.NewBlobName); //copy the blob to rename to the new one await renameTo.StartCopyFromBlobAsync(blob); //delete the existing blob await blob.DeleteAsync(); } }
public async Task <byte[]> DownloadBlob(BlobManipulationData data) { return(await Task.Run <byte[]>(() => { var storageConnection = Services.Settings["StorageConnectionString"]; storageAccount = CloudStorageAccount.Parse(storageConnection); blobClient = storageAccount.CreateCloudBlobClient(); container = blobClient.GetContainerReference(data.ContainerName); var blob = container.GetBlockBlobReference(data.BlobName); blob.FetchAttributes(); var blobData = new byte[blob.Properties.Length]; blob.DownloadToByteArray(blobData, 0); return blobData; })); }
private async void Dwnld(string blobName) { var queryObject = new BlobManipulationData(); queryObject.BlobName = (string)lstBlobs.SelectedValue; queryObject.ContainerName = "testcontainer"; var dataToken = JToken.FromObject(queryObject); var blobsJToken = await App.MobileService.InvokeApiAsync("dowloadblob", dataToken); var blobData = blobsJToken.ToObject <byte[]>(); StorageFolder folder = Windows.Storage.ApplicationData.Current.LocalFolder; StorageFile storageFile = await folder.CreateFileAsync(queryObject.BlobName, CreationCollisionOption.ReplaceExisting); var stream = await storageFile.OpenStreamForWriteAsync(); await stream.WriteAsync(blobData, 0, blobData.Length); stream.Dispose(); }