如何使用 .NET v12 SDK 在 Azure Blob 存储中上传具有指定 ContentType 的 Blob?
Posted
技术标签:
【中文标题】如何使用 .NET v12 SDK 在 Azure Blob 存储中上传具有指定 ContentType 的 Blob?【英文标题】:How upload blob in Azure Blob Storage with specified ContentType with .NET v12 SDK? 【发布时间】:2020-05-13 16:03:45 【问题描述】:我刚刚开始使用 .NET v12 SDK https://docs.microsoft.com/da-dk/azure/storage/blobs/storage-quickstart-blobs-dotnet 快速入门
但我似乎不知道如何在上传 blob 时指定 ContentType。
有人知道吗?
提前致谢。
【问题讨论】:
【参考方案1】:可以如下设置,
await blobClient.UploadAsync(stream, true, default);
await blobClient.SetHttpHeadersAsync(new BlobHttpHeaders
ContentType = contentType
);
编辑:正如评论中提到的,使用单一方法执行相同操作的有效方法如下,
await blobClient.UploadAsync(ms, new BlobHttpHeaders ContentType = "text/plain");
【讨论】:
非常感谢 Sajeetharan!我还刚刚发现,您可以通过一次调用“await blobClient.UploadAsync(ms, new BlobHttpHeaders ContentType = "text/plain" );" 上传 blob 并指定 ContentType【参考方案2】:请尝试这种UploadAsync
方法的覆盖。此方法将在单个网络调用中上传和设置内容类型。
这是您的代码:
var httpHeaders = new BlobHttpHeaders
ContentType = contentType
);
await blobClient.UploadAsync(stream, httpHeaders);
【讨论】:
通过对 UploadAsync 的覆盖,还可以为 blob 设置元数据。 @AmélieDupré - 重载采用BlobUploadOptions
的实例,这有助于元数据。见:docs.microsoft.com/en-us/dotnet/api/…以上是关于如何使用 .NET v12 SDK 在 Azure Blob 存储中上传具有指定 ContentType 的 Blob?的主要内容,如果未能解决你的问题,请参考以下文章
上传大文件 Azure Blob .net SDK v12 问题
与 v11 相比,使用 v12 将文件上传到 Azure Blob 存储 SDK 的 ASP.NET Core 使用更高的内存
如何从适用于 Node.js 的 Azure blob v12 SDK 中删除 blob
如何使用 JavaScript v12 SDK for Browsers 检索和显示(在浏览器中)存储在 Azure 存储帐户中的多个 pdf 的 URL
使用 Azure Java SDK V12 和 ListBlobs() 在 Azure Blobstorage 中列出 Blob 非常慢