首页 > 解决方案 > 写入 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();
            }
        }

标签: azureazure-blob-storage

解决方案


您应该调用blob.SetPropertiesAsync以将内容类型真正保存到服务器。


推荐阅读