【问题标题】:Chrome says: "Resource interpreted as Document but transferred with MIME type application/vnd.openxmlformats-officedocument.wordprocessingml.document"Chrome 说:“资源解释为文档,但使用 MIME 类型 application/vnd.openxmlformats-officedocument.wordprocessingml.document 传输”
【发布时间】:2014-11-19 13:21:00
【问题描述】:

我提供从我的网站下载的文件,该文件正在运行。但是,我注意到 Chrome 的这种行为。

我认为我设置了正确的 MIME 类型,但 Chrome 显示此消息并将请求标记为红色。

我设置的 MIME 类型是:

application/vnd.openxmlformats-officedocument.wordprocessingml.document

这是*.docx 文件的预期行为吗?好像我做错了什么。

【问题讨论】:

标签: google-chrome download mime-types docx


【解决方案1】:

不用担心 Chrome 警告。 您正在为 .docx 文件使用有效的 MIME 类型。

【讨论】:

    【解决方案2】:

    根据 Chrome 错误跟踪器中的 issue,2014 年 1 月 29 日的评论者指出,这可能是由于缺少 Content-Length 标头造成的。但是,它并没有解决我的问题,我根据表单 POST 返回动态生成的 PDF。

    如果没有其他问题,可以在此处添加或标记问题。它可能是无害的。

    【讨论】:

    • 如果服务器使用 HTTP/1.1 分块响应,则无论如何都不应该设置 Content-Length。因此,如果 Chrome 不能以这种方式正确地流式传输八位字节流,Chrome 就会有点崩溃......
    【解决方案3】:

    您的文件的 MIME 类型是正确的,实际上并不重要。

    如果您的文件放在<a> 元素中(无论是静态的还是动态的),您需要添加download attribute 来挤压警告。

    Edge 也发生了类似的事情,添加 download 属性也可以解决它。

    【讨论】:

    • 当我在浏览器中切换到 Chrome 的移动模式时,它没有跟随链接并在我的 PC 上的 localhost 上发出警告。但是当我在手机上本地启动它并点击指向我的简历的链接时,它运行良好。
    • 如果要下载的资源没有相同的origin,Chrome 似乎不会抑制警告。这是规范中指定的预期行为吗? -- 哦,是的,想一想,这是一个明显的安全功能:这样就没有人可以下载你不拥有的资源作为你想要的类型。
    猜你喜欢
    • 2017-01-30
    • 2012-11-25
    • 2013-08-08
    • 2017-03-19
    • 1970-01-01
    • 2016-11-23
    • 2012-09-20
    • 2013-05-26
    相关资源
    最近更新 更多