【问题标题】:Setting content-type, difference between octet-stream and text/csv设置 content-type,octet-stream 和 text/csv 的区别
【发布时间】:2013-01-11 05:11:41
【问题描述】:

使用response.setContentType("application/octet-stream"); 而不是response.setContentType("text/csv"); 为csv 文件设置内容类型有什么区别,似乎它们都产生相同的结果。哪种方法更受欢迎?只是好奇。

【问题讨论】:

    标签: java servlets mime-types


    【解决方案1】:

    某些浏览器,尤其是 IE,完全忽略内容类型标头,并根据文件扩展名在应用程序中打开响应。在那些浏览器中,这可能无关紧要。

    但是,text/csv 是首选的内容类型,应该适用于所有浏览器。 "application/octet-stream" 非常通用,并没有给出任何关于应该使用什么类型的应用程序来打开结果的提示。

    例如,如果您要返回 MS Excel 文件,则可以使用 application/vnd.ms-excel 来更具体。由于 CSV 不与某个特定应用程序绑定,因此首选 text/csv。

    【讨论】:

    • 谢谢。这解释了很多。
    【解决方案2】:

    没有针对 CSV 文件的官方 RFC 文档,但它们是纯文本文件,因此最好使用的 MIME 类型是 text/plain。

    There are OS specific MIME implementations for CSV files. For example Microsoft use application/vnd.ms-excel. 
    

    对于其他 MIME 类型,请参阅此站点:http://webdesign.about.com/od/multimedia/a/mime-types-by-content-type.htm

    【讨论】:

    • 任何真正尝试支持“text/plain” ContentType 标头的浏览器很可能会提供在文本编辑器中打开结果,而不是在电子表格中。这可能不是大多数用户所期望的。 “text/csv”虽然是非官方的,但得到了广泛的支持,因此可能是更好的选择。
    猜你喜欢
    • 2011-10-04
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 2012-06-25
    • 2018-12-27
    • 2013-12-28
    • 2011-01-26
    相关资源
    最近更新 更多