【问题标题】:Rails with paperclip Docx content_type is coming back as application/zip带有回形针 Docx content_type 的 Rails 以 application/zip 的形式返回
【发布时间】:2011-06-16 06:10:29
【问题描述】:

还有其他人看过吗?

我正在使用带有回形针的 rails 3,当我上传 .doc 时,它的应用程序/msword 效果很好,但是当我上传 .docx 时,content_type 被保存为 application/zip。

想法?

【问题讨论】:

  • 我不是 100% 确定,但我相信 .docx 实际上是一个包含一堆 XML 文件的 zip;所以从技术上讲,它是一个 zip 文件是正确的!
  • @Stephen,谢谢,这很有趣。关于是否可以将 docx 转换为 doc 用于预览目的的任何想法?
  • 不知道 - 我想这是可能的,但取决于您需要预览的功能有多全面,您也许只能找到一个可以提供帮助的 docx 解析器?跨度>

标签: ruby-on-rails ruby-on-rails-3 paperclip mime mime-types


【解决方案1】:

具有讽刺意味的是,IE 可能难以识别新的 MS Office 文件,而其他浏览器则可以很好地识别它们。

为了让 IE 使用这些文件,您需要将 mime 类型添加到服务器配置中。在 Rails 中,这是在 config/initializers/mime_types.rb 中完成的

Mime::Type.register "application/vnd.openxmlformats-officedocument.wordprocessingml.document", :docx
Mime::Type.register "application/vnd.openxmlformats-officedocument.presentationml.presentation", :pptx
Mime::Type.register "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", :xlsx

如果您的应用通过 Apache 代理,并且 Apache 为您的静态资产提供服务,您还必须按照 http://bignosebird.com/apache/a1.shtml 为 apache 配置新的 mime 类型(并重新启动)

我的 mime 类型位于 /etc/mime.types,但如果您不确定,请尝试 locate mime.types

【讨论】:

    【解决方案2】:

    我已经看到使用带有 SSL 的 IE。如果您遇到这种情况,请查看 http://www.kalzumeus.com/2010/10/25/how-to-use-ssl-to-secure-your-rails-app-against-firesheep-and-other-evils/

    (名为“在 SSL 上托管可下载文件?您刚刚破坏了 IE。”的部分。)

    这也可能有帮助: Rails PDF Generation with Prawn in IE7

    【讨论】:

      猜你喜欢
      • 2016-04-12
      • 2011-03-21
      • 1970-01-01
      • 2010-10-08
      • 2014-01-12
      • 1970-01-01
      • 2012-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多