【问题标题】:Copy css file from one subdirectory to another one in CONTAINER BLOB将 css 文件从一个子目录复制到 CONTAINER BLOB 中的另一个子目录
【发布时间】:2018-08-02 15:59:33
【问题描述】:

场景:

我将 .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 将此文件视为文本/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 类型

【问题讨论】:

  • 你能添加你现有的代码吗?了解您现在正在使用哪些功能将使人们更容易推荐更改。
  • 搞定了,谢谢帮助

标签: azure azure-storage azure-blob-storage


【解决方案1】:

您可以通过属性 ContentType 设置 blob 的内容类型

看看: https://docs.microsoft.com/en-us/dotnet/api/microsoft.windowsazure.storage.blob.blobproperties.contenttype

【讨论】:

    【解决方案2】:

    下载 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 文件,然后左键单击属性,向下滚动以更改文件格式。

    【讨论】:

    • 如果您是“程序员”,那么您应该知道如何在代码中运行 bash/powershell 脚本,哈哈。
    猜你喜欢
    • 2012-03-04
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 2016-06-09
    • 2012-02-15
    • 2019-12-08
    • 2017-11-18
    相关资源
    最近更新 更多