Я загружаю файл в хранилище Blob -Blob с этим кодом. Как я могу гарантировать, что загрузка завершена? Возможно со статусом прогресса. < /P>
public async Task PutBlobAsync(string containerName, string blobName, byte[] content, bool allowOverwrite = false, string contentType = null)
{
try
{
var containerClient = CreateAndGetContainer(containerName);
var blobClient = containerClient.GetBlobClient(blobName);
var blobUploadOptions = new BlobUploadOptions();
if (!String.IsNullOrEmpty(contentType))
blobUploadOptions.HttpHeaders = new BlobHttpHeaders { ContentType = contentType };
if (!allowOverwrite)
blobUploadOptions.Conditions = new BlobRequestConditions { IfNoneMatch = ETag.All };
using (var stream = new MemoryStream())
{
stream.Write(content, 0, content.Length);
stream.Position = 0;
await blobClient.UploadAsync(stream, blobUploadOptions);
}
return true;
}
catch (RequestFailedException e)
{
Logger.Error(e, "PutBlobAsync");
switch (e.Status)
{
case (int)HttpStatusCode.NotFound:
case (int)HttpStatusCode.PreconditionFailed:
return false;
}
throw;
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... e-complete