将CSS文件从一个子目录复制到CONTAINER BLOB中的另一个子目录

时间:2018-08-01 15:09:51

标签: azure azure-storage azure-storage-blobs

场景:

我将.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? AZURE BLOB

修改:我的代码

    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 类型

2 个答案:

答案 0 :(得分:1)

答案 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

更多详细信息:https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy?toc=%2fazure%2fstorage%2fblobs%2ftoc.json

使用Microsoft Azure存储资源管理器手动修改已存在文件的内容类型字符串。在资源管理器中右键单击blob文件,然后在属性上单击鼠标左键,向下滚动以更改文件格式。