【问题标题】:Zip Mime Type appears unrecognisedZip Mime 类型似乎无法识别
【发布时间】:2011-01-12 06:28:32
【问题描述】:

我正在尝试返回一个 zip 文件,作为浏览器上的流。这适用于其他类型的文件(例如 Excel 文件),但是当我开始处理 zip 文件时,我的浏览器无法识别它是 zip。

Firefox 和 IE 都在我的测试机器上运行提示,询问用什么程序打开文件。 Explorer 被设置为 zip 文件关联的默认设置。

IE 没有太多反馈,但 Firefox 告诉我文件类型是什么

应用程序/压缩包

据我所知,这是 zip 文件的正确 mime 类型。我唯一没有设置的是扩展名,因此该文件只是称为“Test”而不是“Test.zip”,但据我所知,这一切都应该通过 mime 类型来确定。

有人对可能出现的问题有任何想法吗?

【问题讨论】:

    标签: c# .net zip mime-types


    【解决方案1】:

    您应该发送文件,确保包含文件扩展名:

    内容配置:附件;文件名=Test.zip

    作为标题。

    在 C# 中:

    Response.ContentType = "application/zip";
    Response.AddHeader("Content-Length", contentLength.ToString());
    Response.AddHeader("Content-disposition", "attachment; filename=" + fileName);
    
    if (Request.UserAgent.Contains("MSIE"))
    {
        Response.AddHeader("Content-Transfer-Encoding", "binary");
    }
    

    【讨论】:

    • 约翰,感谢您的回复。内容类型和内容配置已设置但不起作用。我猜长度对发现的类型没有影响,而且因为它影响了 firefox,也不确定传输编码是否应该受到责备。
    • 不幸的是,发布代码并不是一个真正的选择,因为代码分布在相当深的类层次结构中。你的答案几乎是正确的。我错过了文件扩展名,但“内容处置”也应该有一个小写的“d”,因为它在 IE 中是区分大小写的。在这些更改之后,一切都奏效了。
    • Content-Disposition 应该大写。如果 IE 不支持,我理解,但是:ietf.org/rfc/rfc2183.txt
    【解决方案2】:

    如果可以修改 MIME 类型,请尝试 application/x-zip。

    【讨论】:

    • 我可以更改 mime 类型,但 application/x-zip 不是 ZIP 标准。
    猜你喜欢
    • 2020-06-30
    • 2016-09-26
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多