【问题标题】:send and uncompress gzip static json file using tomcat 7 [closed]使用tomcat 7发送和解压缩gzip静态json文件[关闭]
【发布时间】:2013-07-26 12:15:25
【问题描述】:

我有一个包含 json 文件的 gzip 文件。当我使用 url 访问静态 JSON 文件时,它会在浏览器中显示 json,但是当我访问 gzip 压缩文件时,它会下载文件,但我希望浏览器像第一种情况一样解压缩并在浏览器中显示它。 请帮助我,我该如何组织它?有教程吗? 非常感谢。

【问题讨论】:

    标签: json tomcat7 gzip


    【解决方案1】:

    如果您希望您的浏览器解压缩并立即显示以 *.gz 结尾的文件 - 这将不起作用(除非您有一个特殊的插件可以做到这一点,类似于在浏览器中显示的 PDF 文件)。

    以下方法将导致 tomcat 动态压缩上述 mime 类型,您不必自己 gzip 压缩 JSON 文件(任何现代浏览器都会动态解压缩 gzip 文件):

    确保server.xml 中的Connector 看起来像这样:

    <Connector port="8090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444"
    compression="on" compressableMimeType="text/html,
    text/xml,text/plain,text/javascript,text/css,application/json" />
    

    (添加compressioncompressableMimeType 属性)

    根据您的需要配置compressableMimeType。 JSON 的类型是application/json(根据What is the correct JSON content type?)。

    【讨论】:

    • 您好,感谢您的帮助。我不确定我是否正确解释了这个问题。我有 data.gz 和访问它的 url,比如 localhost:8080/static_data/data.gz。当我通过这个 url 下载 gz 文件但我希望它被提取并且内容(在本例中为 json 文件)显示在浏览器中时,这可能吗?
    • 如果您有一个以 *.gz 结尾的文件,让您的浏览器下载该文件是正常行为。浏览器的“即时解压缩”仅适用于“即时”压缩的文件。您的文件 *.gz 已预先压缩。
    • 所以意味着无法在data.gz中显示json?
    • 不,通常没有浏览器会自动解压并显示压缩文件的内容。
    • 好的,非常感谢,现在请将您的最后评论添加到答案中,以便我接受。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多