[英]Upload file to Azure Blob from HTML webpage (C#)?
我试图弄清楚如何从html表单中获取文件并将其保存到我的Azure Blob存储中。 我发现了许多关于JavaScript的帖子,但是我正在尝试通过C#来实现。 我发现据说有一个消息来源
using (YourFileUpload.PostedFile.InputStream) { blockBlob.UploadFromStream((FileStream)YourFileUpload.PostedFile.InputStream); }
但是HttpPostedFileBase
对象中不存在PostedFile
。
我到目前为止构建的代码是
public static int UploadFile(string FileName, HttpPostedFileBase UploadedFile, int ExistingFileID = 0)
{
var StorageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["StorageConnectionString"].ToString());
var BlobClient = StorageAccount.CreateCloudBlobClient();
var Container = BlobClient.GetContainerReference("ffinfofiles");
var BlobBlock = Container.GetBlockBlobReference(FileName);
var FileExtension = Path.GetExtension(UploadedFile.FileName.ToLower());
using (UploadedFile.InputStream)
{
BlobBlock.UploadFromStream((FileStream)UploadedFile.InputStream);
}
但是当我运行这个我得到错误:
Unable to cast object of type 'System.Web.HttpInputStream' to type 'System.IO.FileStream'.
我需要采取什么方法才能将文件上传到Azure Blob?
您不应该尝试将UploadedFile.InputStream
转换为FileStream
。 CloudBlockBlob.UploadFromStream
需要一个Stream
对象,因此它应该能够直接与UploadedFile.InputStream
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.