Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Threading;
- using System.Threading.Tasks;
- using Microsoft.WindowsAzure.Storage;
- using Microsoft.WindowsAzure.Storage.Blob;
- using MspMobileApp.Utils;
- namespace MspMobileApp.Infrastructure.Services
- {
- public static class BlobStorangeService
- {
- public static CloudBlobContainer GetContainer(string cont)
- {
- var account = CloudStorageAccount.Parse(Config.SharedStorangeConnectionTest);
- var client = account.CreateCloudBlobClient();
- return client.GetContainerReference(cont.ToLower());
- }
- public static async Task<string> UploadFileAsync(Stream stream, string containerName, CancellationToken token)
- {
- var name = "Cancelled";
- try
- {
- var container = GetContainer(containerName);
- await container.CreateIfNotExistsAsync(
- BlobContainerPublicAccessType.Container,
- new BlobRequestOptions(),
- new OperationContext(), token);
- var ct = DateTime.Now;
- name = $@"{ct.Year}.{ct.Month}.{ct.Day}/{Guid.NewGuid().ToString().ToUpper()}.jpg";
- var fileBlob = container.GetBlockBlobReference(name);
- fileBlob.Properties.ContentType = "image/jpeg";
- name = fileBlob.Uri.ToString();
- // Debug.WriteLine("Upload Start");
- await fileBlob.UploadFromStreamAsync(stream,
- AccessCondition.GenerateEmptyCondition(), new BlobRequestOptions(),
- new OperationContext(), token);
- }
- catch (Exception)
- {
- name = "Load Error";
- }
- return name;
- }
- public static async Task<string> UploadFileAsync(byte[] array, string containerName, string name = "")
- {
- var container = GetContainer(containerName);
- await container.CreateIfNotExistsAsync();
- if (string.IsNullOrEmpty(name))
- name = Guid.NewGuid().ToString();
- var fileBlob = container.GetBlockBlobReference(name);
- await fileBlob.UploadFromByteArrayAsync(array, 0, array.Length);
- return name;
- }
- }
- }
Add Comment
Please, Sign In to add comment