繁体   English   中英

从HTML网页(C#)将文件上传到Azure Blob吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM