如何使用 .NET v12 SDK 在 Azure Blob 存储中使用指定的 ContentType 上传 Blob?

Dan*_*Chu 4 c# azure azure-storage-blobs azure-blob-storage

我刚刚开始使用 .NET v12 SDK https://docs.microsoft.com/da-dk/azure/storage/blobs/storage-quickstart-blobs-dotnet

但我似乎无法找到上传 blob 时如何指定 ContentType 的方法。

有人知道吗?

提前致谢。

Saj*_*ran 8

你可以设置如下,

 await blobClient.UploadAsync(stream, true, default);
 await blobClient.SetHttpHeadersAsync(new BlobHttpHeaders
 {
    ContentType = contentType
 });
Run Code Online (Sandbox Code Playgroud)

编辑:如评论中所述,使用单一方法执行相同操作的有效方法如下,

await blobClient.UploadAsync(ms, new BlobHttpHeaders{ ContentType = "text/plain"});
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢萨吉塔兰!我还发现您可以通过一次调用“await blobClient.UploadAsync(ms, new BlobHttpHeaders{ ContentType = "text/plain" });”上传 blob 并指定 ContentType (3认同)

Gau*_*tri 6

请尝试这个重写UploadAsync方法。此方法将在单个网络调用中上传并设置内容类型。

这是你的代码:

var httpHeaders = new BlobHttpHeaders
 {
    ContentType = contentType
 });
await blobClient.UploadAsync(stream, httpHeaders);
Run Code Online (Sandbox Code Playgroud)

  • 通过覆盖 UploadAsync,还可以设置 blob 的元数据。 (4认同)