Мне нужно загрузить файл из формы на внешний интерфейс, пройдя через внутренний интерфейс в хранилище BLOB-объектов Azure.
- Мне нужно сохранить на BLOB-объекте и сохранить URL-адрес, сохраненный нахранилище BLOB-объектов Azure.
- Я получаю файл из формы на контроллере, используя класс для анализа данных.
- Контроллер обрабатывает файл и подключается к хранилищу BLOB-объектов Azure.
- В хранилище больших двоичных объектов нет примеров использования его методов в документации.
- Все примеры, которые я обнаружил, просто показывают, как загрузить из локальной папки.
Послекод, проблема до сих пор в том, что формат переменной myFile передается в метод UploadFromStreamAsync.
// the controller starts here
[HttpPost]
public async System.Threading.Tasks.Task<ActionResult> Index(IFormFile arquivo)
{ //here I am receving the file
var myFile = arquivo.FileItem;
var myFileName = arquivo.FileName;
// here is the connection with blob account
string storageConnection = ConfigurationManager.AppSettings["BlobStorageString"];
string accountBlob = ConfigurationManager.AppSettings["BlobStorageAccount"];
var storageAccount = CloudStorageAccount.Parse(storageConnection);
var cloudBlobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer cloudBlobContainer = cloudBlobClient.GetContainerReference("hurrblobstest");
await cloudBlobContainer.CreateAsync();
var cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference("filname12");
// here I am trying to send the file
await cloudBlockBlob.UploadFromStreamAsync(myFile);
var result = JsonConvert.SerializeObject(cloudBlockBlob);
//here I need to return the url or the object with the file info on the azure blob storage
return Json(result);
}
Я получаю сообщение о: await cloudBlockBlob.UploadFromStreamAsync(myFile);
, сообщающее, что файл
HttpPostedFileBase не может быть преобразован в System.IO.Stream