Html5 Mime在grails中输入错误

我正在尝试使用grails 1.3.7 for iPad使用缓存清单来离线保存数据来创建Web应用程序。 我在Chrome中获得了离线数据,但在Safari,iPad和Mozilla中,它提供了一个错误消息,说明应用程序缓存清单具有不正确的MIME类型: text/plain 。 我已经在Config.groovy设置了MIME类型,如下所示:

grails.mime.types = [ html: ['text/html','application/xhtml+xml'],
                      xml: ['text/xml', 'application/xml'],
                      text: 'text/plain',
                      js: 'text/javascript',
                      rss: 'application/rss+xml',
                      atom: 'application/atom+xml',    
                      css: 'text/css',
                      csv: 'text/csv',
                      all: '*/*',
                      json: ['application/json','text/json'],
                      form: 'application/x-www-form-urlencoded',
                      multipartForm: 'multipart/form-data',
                      manifest: 'text/cache-manifest' 
                    ]        

但其他浏览器仍然不接受它。 我很困惑这是一个html5问题还是grails。 它在铬中工作。


嘿,我得到了解决方案,我发现MIME类型没有在grails中设置....在grails中设置MIME类型的另一种方式是(但我仍然想知道为什么铬没有MIME类型)... .........要在grails中设置mime类型,我们必须创建一个web.xml并添加下面的代码给它...

<mime-mapping>
    <extension>manifest</extension>
    <mime-type>text/cache-manifest</mime-type>
</mime-mapping>

但是在grails中,web.xml只是在构建war的时候创建的....所以要创建一个可以与原始web.xml合并的web.xml,请执行以下操作

在命令行中键入

grails install-templates

现在在你的项目文件夹中创建src / templates / war。 在war文件夹中创建web.xml并添加你需要的代码......希望这会有所帮助


您可以直接通过HTTPResponse对象从控制器操作中直接设置HTTP内容类型头,而不是修改web.xml文件:

response.contentType = "text/cache-manifest"

Config.groovygrails.mime.types块在内容协商期间用于允许您更轻松地根据入站Accepts头返回不同的响应。

链接地址: http://www.djcxy.com/p/47041.html

上一篇: Html5 Mime type error in grails

下一篇: Chrome is not loading SVG File as image/svg+xml