这两篇文章看起来很有希望:
How upload blob in Azure Blob Storage with specified ContentType with .NET v12 SDK?
Uploading blockblob and setting contenttype
但在两者中,他们都使用不同的库。 (为什么有这么多?)根据我无法控制的权力的要求,我们正在使用 BlobContainerClient 。在该类中,我们使用 UploadBlobAsync方法。
public async Task<string> UploadAsync(string fileName, byte[] file, string containerName)
{
...
BlobContainerClient container = await createContainerIfNotExistsAsync(containerName);
using Stream stream = file.ToStream();
var result = await container.UploadBlobAsync(fileName, stream); // <-- does the upload.
...
}
默认情况下,类型设置为application/octet-stream
。我怎样才能覆盖这个?
最佳答案
好的,明白了。有两种方法可以将文件上传到 Blob 存储。
第一个是我的做法,即绕过 BlobClient
的创建。请参阅 OP 的示例。
第二个看起来像这样:
public async Task<string> UploadAsync(string fileName, byte[] file, string containerName)
{
...
BlobContainerClient container = await createContainerIfNotExistsAsync(containerName);
BlobClient blobClient = container.GetBlobClient(fileName);
using Stream stream = file.ToStream();
var result = await blobClient.UploadAsync(stream, new BlobHttpHeaders { ContentType = "text/plain" });
...
}
关于c# - 使用 BlobContainerClient.UploadBlobAsync() 设置内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60742946/