I have a very simple service,
public class AzureService : IAzureService { private readonly CloudBlobContainer _container; public AzureService(ISettings settings) { var storageAccount = CloudStorageAccount.Parse(settings.BlobConnectionString); var blobClient = storageAccount.CreateCloudBlobClient(); _container = blobClient.GetContainerReference(settings.BlobContainerName); } public Task UploadBlobAsync(string fileName, Stream stream) { var blob = _container.GetBlockBlobReference(fileName); return blob.UploadFromStreamAsync(stream); } public Task DeleteBlobAsync(string fileName) { var blob = _container.GetBlockBlobReference(fileName); return blob.DeleteAsync(); } }
This method is called from
public Task SaveAllAsync(Dictionary<string, Stream> images) { var tasks = new List<Task>(); foreach (var image in images) { var fileName = image.Key; var stream = image.Value; var task = _azureService.UploadBlobAsync(fileName, stream); tasks.Add(task); } return Task.WhenAll(tasks); }
My stream is HttpPostedFileBase.InputStream . Sometimes this works, and sometimes I get The remote server returned an error: (400) Bad Request. . If I put a breakpoint, it also works.
user960567 Jun 15 '14 at 11:47 a.m. 2014-06-15 11:47 a.m.
source share