场景:
我将.css文件从一个子目录复制到Azure存储容器中的另一个子目录。它是从我的应用程序中的C#代码级别完成的。这是我网站的CSS样式文件。不幸的是,在加载页面期间,我在浏览器控制台中收到错误:
错误
Resource interpreted as Stylesheet but transferred with MIME type application/octet-stream:
"SOME_PATH/template/css/styles.css?d=00000000-0000-0000-0000-000000000000".
知识:
我知道这就是为什么我的文件以八位字节流而不是text / css的形式发送的原因。我该怎么说?Azure将此文件视为text / css?
修改:我的代码
string newFileName = fileToCopy.Name;
StorageFile newFile = cmsDirectory.GetStorageFileReference(newFileName);
using (var stream = new MemoryStream())
{
fileToCopy.DownloadToStream(stream);
stream.Seek(0, SeekOrigin.Begin);
newFile.UploadFromStream(stream);
}
其中DownloadToStream和UploadToStream是我的课程中的方法:
CloudBlob.DownloadToStream(target);
和
CloudBlob.DownloadToStream(target);
CloudBlob是 CloudBlockBlob 类型
答案 0 :(得分:1)
您可以通过属性ContentType设置Blob的内容类型
答案 1 :(得分:0)
下载AzCopy-http://aka.ms/azcopy 如果您指定不带值的/ SetContentType,则AzCopy将根据其文件扩展名设置每个Blob或文件的内容类型。 在Windows上运行此命令 AzCopy / Source:C:\ myfolder \ / Dest:https://myaccount.blob.core.windows.net/myContainer/ / DestKey:key / Pattern:ab / SetContentType
使用Microsoft Azure存储资源管理器手动修改已存在文件的内容类型字符串。在资源管理器中右键单击blob文件,然后在属性上单击鼠标左键,向下滚动以更改文件格式。