c# - 在 ASP.NET 中使用文件 uploader 将图像上传到 Azure Blob?

标签 c# asp.net .net azure azure-storage

我需要允许用户指定需要上传到 Azure DB 的图像,而不是像所有教程那样对图像路径进行硬编码。这是我到目前为止所拥有的:

<asp:FileUpload ID="imageUploader" runat="server" />
<asp:Button ID="uploadBtn" runat="server" Text="Upload Image" class="btn btn-success btn-sm" OnClick="uploadBtn_Click" />

代码:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["StorageConnectionString"]);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

 // Retrieve a reference to a container. 
CloudBlobContainer container = blobClient.GetContainerReference("pictures");

// Create the container if it doesn't already exist.
container.CreateIfNotExists();
container.SetPermissions(new BlobContainerPermissions
{
        PublicAccess = BlobContainerPublicAccessType.Blob
});

CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob");

blockBlob.UploadFromFile(imageUploader.PostedFile.FileName, FileMode.Open);

但是这似乎不起作用。如何使用 ASP.NET 中的文件 uploader 将图像上传到 azure?

最佳答案

您的UploadFromFile使用了错误的参数。请参阅微软CloudBlockBlob.UploadFromFile 。第一个参数应该是文件路径,即 C:\Users\etc... 而不仅仅是您正在解析的文件的名称 imageUploader.PostedFile.FileName

您很可能希望像这样使用UploadFromStream:

blockBlob.UploadFromStream(imageUploader.PostedFile.InputStream);

您应该检查 CloudBlockBlob 的文档因为有许多不同的上传方法。

关于c# - 在 ASP.NET 中使用文件 uploader 将图像上传到 Azure Blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28657753/

相关文章:

javascript - HTML/JS/CSS3 + ASPX ... 和 Sharepoint Designer 2013

c# - Nopcommerce View 未更新

c# - 有没有更好的方法来为队列实现 Remove 方法?

c# - 如何在上下文菜单中添加背景色和前景色

c# - 层次类的迭代器

c# - 如何为方法创建命名 `params` 参数?

asp.net - 如何将 XML 数据显示到 ASP.Net gridview 中?

c# - 加快 datagridview 单元格字体更改

c# - 部署时 Log4Net 不记录

c# - 未处理的 GridView 触发事件 RowEditing