Я пытаюсь загрузить изображение в хранилище BLOB-объектов Azure.Однако, когда я смотрю на конечный результат на Azure, и он просто создает пустой файл.
[HttpPost("Import")]
public IActionResult Import(IFormFile filepond)
{
const string accountName = "accountName";
const string key = "key14881851";
var storageAccount = new CloudStorageAccount(new StorageCredentials(accountName, key), true);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference("mycontainer");
container.CreateIfNotExistsAsync();
container.SetPermissionsAsync(new BlobContainerPermissions()
{
PublicAccess = BlobContainerPublicAccessType.Blob
});
var blob = container.GetAppendBlobReference("test.jpg");
blob.UploadFromStreamAsync(filepond.OpenReadStream());
return Ok();
}
Некоторые вопросы (кроме того, почему я получаю пустой файл).
- Я вижу, что многие из этих методов являются асинхронными, нужно ли ждать их, чтобы все работало правильно (т. Е. Если контейнер не существует, он создается до того, как файл записан в контейнер)
- Нужно ли мнеобернуть UploadFromStreamAsync в операторе using.