azure - 写入 Blob 容器时的 blob.Properties.ContentType 始终是应用程序/八位字节流
问题描述
我只是将 json 文件写入 Blob(请参阅下面的代码)。我需要它是 content = application/json 但blob json文件每次都读取“application/octet-stream”。我已将 blob.properties ContentType 设置为 =“application/json”,但是当我查看存储资源管理器时,它每次都会显示“application/octet-stream”。
请协助; 这真让我抓狂 :-)
谢谢,
麦克风
在此处输入代码
static public void WriteBlob(string filename, string data)
{
string storageConnectionString = "DefaultEndpointsProtocol=https;AccountName=scadametrics;AccountKey=xxxxxxxxxxnfrsFRd/49Dmhn0HwKbxmpiA==;EndpointSuffix=core.windows.net";
var storageAccount = CloudStorageAccount.Parse(storageConnectionString);
var client = storageAccount.CreateCloudBlobClient();
var container = client.GetContainerReference("azfunc-out");
// string fileName = companyId.ToString() + "\\" + Guid.NewGuid();
var blob = container.GetBlockBlobReference(filename);
blob.Properties.ContentType = "application/json";
using (CloudBlobStream x = blob.OpenWriteAsync().Result)
{
byte[] bytes = Encoding.ASCII.GetBytes(data);
x.Write(bytes, 0, bytes.Length);
x.Flush();
x.Close();
}
}
解决方案
您应该调用blob.SetPropertiesAsync
以将内容类型真正保存到服务器。
推荐阅读
- angular - Angular 2+ - 为核心和共享创建单独的包并在 GIT 中管理它们
- python - 将 Envoy Dockerfile 基础镜像更新为 python 3.6+
- python - 使用 LabelEncorder 我正在尝试将数据集从 String 更改为 Numeric
- python - 使用python解决lintcode a+b问题时超时
- javascript - 根据逗号分隔过滤字符串
- active-directory - 从 Azure 应用服务访问网络中的本地 AD
- c# - 如何在 Unity ARkit 中一次仅扫描和检测单个平面?
- c# - 为什么此查询返回“System.NotImplementedException”?
- amazon-web-services - 使用 AWS 持续集成/部署更新现有 Lambda 函数
- php - 如何从 php 中的网站读取 json 数据?