public bool Post(CommitBlobRequest commitRequest) { var result = false; commitRequest.FileName = commitRequest.FileName.ToLower(); commitRequest.ContainerName = commitRequest.ContainerName.ToLower(); var accountAndKey = new StorageCredentials(AppSettings.StorageAccountName, AppSettings.StorageAccountKey); var storageaccount = new CloudStorageAccount(accountAndKey, true); var blobClient = storageaccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference(commitRequest.ContainerName); container.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob }); CloudBlockBlob blob = container.GetBlockBlobReference(commitRequest.FileName); try { blob.PutBlockList(commitRequest.blobParts); blob.Properties.ContentType = commitRequest.type; blob.Properties.ContentDisposition = "attachment"; blob.SetProperties(); result = true; } catch (Exception ex) { //Trace.TraceError("BuildFileSasUrl throw excaption", ex.Message); } return(result); }
public bool Post(CommitBlobRequest commitRequest) { var result = false; commitRequest.FileName = commitRequest.FileName.ToLower(); commitRequest.ContainerName = commitRequest.ContainerName.ToLower(); var accountAndKey = new StorageCredentials(AppSettings.StorageAccountName, AppSettings.StorageAccountKey); var storageaccount = new CloudStorageAccount(accountAndKey, true); var blobClient = storageaccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference(commitRequest.ContainerName); container.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob }); CloudBlockBlob blob = container.GetBlockBlobReference(commitRequest.FileName); try { blob.PutBlockList(commitRequest.blobParts); blob.Properties.ContentType = commitRequest.type; blob.Properties.ContentDisposition = "attachment"; blob.SetProperties(); result = true; } catch (Exception ex) { //Trace.TraceError("BuildFileSasUrl throw excaption", ex.Message); } return result; }
public async Task <CommitBlobResponse> Post([FromBody] CommitBlobRequest commitBlobRequest) { var res = new CommitBlobResponse(); var cs = new ContosoStorage(); string fileExt = BlobInformation.DEFAULT_FILE_EXT; fileExt = cs.CommitUpload(commitBlobRequest); var url = commitBlobRequest.SasUrl.Replace(AppSettings.StorageWebUri, ""); var urldata = url.Split('?'); var index = urldata[0].IndexOf('/'); var content = urldata[0].Split('/'); var containerName = urldata[0].Substring(0, index); string fileGuidName = urldata[0].Replace(containerName + "/lg/", "").Replace(".temp", ""); var ibl = new ImageBusinessLogic(); var image = ibl.AddImageToDB(commitBlobRequest.AlbumId, commitBlobRequest.UserId, containerName, fileGuidName + "." + fileExt, commitBlobRequest.IsMobile); if (image != null) { res.Success = true; res.ImageId = image.Id; } var qm = new QueueManager(); var blobInfo = new BlobInformation(fileExt); blobInfo.BlobUri = cs.GetBlobUri(containerName, urldata[0].Replace(containerName, "")); blobInfo.ImageId = fileGuidName; await qm.PushToResizeQueue(blobInfo); return(res); }