我正在尝试使用C#上传一个word文档到blob存储。代码片段如下:
var blobServiceClient = new BlobServiceClient(connectionString);
var containerClient = blobServiceClient.GetBlobContainerClient(container);
containerClient.CreateIfNotExists(PublicAccessType.None);
var blobClient = containerClient.GetBlobClient(documentName);
using (var memoryStream = new MemoryStream({Binary of the File}))
{
var headers = new BlobHttpHeaders() { ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document" };
await blobClient.UploadAsync(memoryStream, httpHeaders: headers).ConfigureAwait(false);
}
你知道出什么问题了吗?
如下图所示,Content-Type
标头作为属性存储在Blob Properties
中,因此它将被设置到下载响应的标头中,然后在通过浏览器下载时将其识别为word文件。
因此,上传word文件时,有必要通过blobbaseClient.sethttpHeaders(BlobHttpHeaders,BlobRequestConditions,CancellationToken)方法
或blobbaseClient.sethttpHeadersSasync(BlobHttpHeaders,BlobRequestConditions,CancellationToken)方法
为blob设置ContentType
属性。
然后在您的服务器应用程序上使用下面的contenttype
值编写下载响应的标题的content-type
标题。
Response<BlobProperties> response = await blobClient.GetPropertiesAsync();
var contentType = response.Value.ContentType
或者来自带有sas令牌的blob url的下载响应,标头默认包括ContentType
属性作为Content-Type
标头。
我正在使用Azure Blob存储客户端库上传一个静态站点。 这是工作的,但HTML文件是下载,而不是显示。这是因为内容类型错误:。
可从PlayStation®Store购买游戏、下载游戏最新的免费体验版或宣传影片。 若要使用(PS Store),需先注册PlayStation®Network账号。即使未使用PS Vita注册PlayStation®Network也可阅览PlayStation®Store。下载内容时需先注册,请遵循显示的画面注册。 PlayStation®Network和PlayStation®Store的提
那是外部存储代码,但我想保存在Android手机的内部存储。
我已经阅读了MS提供的大多数文档,可以将文件/图像上传到Blob存储。已经两天了,我卡住了。我没有找到一个合适的方法来上传内容类型正确的图片。文件/图像已上载,但上载到BLOB存储后的内容类型更改为“应用程序/八位字节流”。我希望它是'image/png'或'image/jpg'等图像。 有一些C#代码示例,但它们并不有用。我在试node。js 使用的SDK库:@azure/storage blo
我让activestorage在LocalHost上使用我的Rails5.2应用程序。 null 服务器设置如下: Nginx在计算机调用上反转代理 运行的另一台计算机上的Apache 乘客 我可以在rails编写的日志文件中看到,第二个请求的响应实际上相当快: