[英]Can´t upload file to Azure Blob Storage from my form
I need to upload a file from a form on the front-end, passing through the backend into the azure blob storage.我需要从前端的表单上传文件,通过后端进入 azure blob 存储。
Following the code, the problem so far is the format of the myFile var is being passed on the method UploadFromStreamAsync.按照代码,到目前为止的问题是 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);
}
I am getting a message on the: await cloudBlockBlob.UploadFromStreamAsync(myFile);
我收到一条消息: await cloudBlockBlob.UploadFromStreamAsync(myFile);
that tells me that the file这告诉我该文件
HttpPostedFileBase cannot be converted into System.IO.Stream HttpPostedFileBase 无法转换为 System.IO.Stream
Well, I say if something wants a stream, give it a stream:好吧,我说如果有东西想要一个流,给它一个流:
using (Stream stream = myFile.OpenReadStream())
{
await cloudBlockBlob.UploadFromStreamAsync(stream);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.