Beispiel #1
0
        //[CustomAuthorize]
        public async Task <ActionResult> SaveBlob(string containerName, string fileName, string blockList, string contentType)
        {
            if (String.IsNullOrWhiteSpace(containerName) || String.IsNullOrWhiteSpace(fileName) ||
                String.IsNullOrWhiteSpace(blockList))
            {
                throw new ArgumentNullException("ContainerName, FileName and BlockList all are required");
            }

            var azureFileModel = new AzureFileModel()
            {
                ContainerName = containerName,
                BlobName      = fileName,
                ChunkIdList   = blockList.Split(',').ToList(),
                ContentType   = contentType
            };

            var azureFileUri = await _azureFileStorageApplicationService.SaveFileAsync(azureFileModel);

            return
                (Json(
                     new
            {
                tempContainerPath = containerName,
                azureUri = azureFileUri
            }));
        }
        public async Task <Uri> SaveFileAsync(AzureFileModel azureFileModel)
        {
            //TODO: Validations
            try
            {
                var container = _cloudClient.GetContainerReference(azureFileModel.ContainerName);
                await container.CreateIfNotExistsAsync();

                var blockBlob = container.GetBlockBlobReference(azureFileModel.BlobName);
                blockBlob.Properties.ContentType = azureFileModel.ContentType;

                blockBlob.PutBlockList(azureFileModel.ChunkIdList);

                return(GetReadOnlyFileUrl(azureFileModel.ContainerName, azureFileModel.BlobName));
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Beispiel #3
0
 public async Task <Uri> SaveFileAsync(AzureFileModel azureFileModel)
 {
     return(await _azureFileStorageRepositoryService.SaveFileAsync(azureFileModel));
 }
Beispiel #4
0
 public async Task <Uri> SaveFileAsync(AzureFileModel azureFileModel)
 {
     return(await _azureFileStorageBusinessService.SaveFileAsync(azureFileModel));
 }