新手问题 paperclip 怎么上传文件啊??

bluesky0318 · 2014年10月17日 · 最后由 bluesky0318 回复于 2014年11月13日 · 3609 次阅读

老大要求用 paperclip 上传文件,我去 github 上也找了一些利用 paperclip 上传文件的例子,都是介绍如何上传 image 或者 pdf 的,于是我下载了一个 pdf 的基于 rails4.0 的例子,但是还是有几个问题需要大佬们帮忙看看。 1.我上传的文件是自定义格式的,其实是 rar 文件,只是为了需求将后缀修订为 oce 文件,所以我将例子中校验那块修订为如下, validates_attachment_content_type :attachment, :content_type => [‘application/zip] validates_attachment_file_name :attachment, ::matches => [/oce\Z/, /OCE\Z/], 但是仍然报错, •File pdf content type is invalid •File pdf is invalid 所以我在想,是不是还有那个地方需要修改呢? 2.我用一个 txt 文件修改了后缀为 pdf 文件模式,我去上传,还是会报错 •File pdf has an extension that does not match its contents 似乎不光后缀比较还会做内容比较。

我已经搞晕了,麻烦各位帮我看看如何让其不去做文件检查呢?

应该是 paperclip 这个 gem 不好意思,之前写错了 title 修订过来了

我不知道具体怎么解决这个问题,但有些提示:

  1. rar 的 content_type 不是 application/zip
  2. 浏览器发送的 content_type 不一定按照本地文件的 content_type,例如某些版本的 IE 会发送 application/octet-stream
  3. 上传插件可能会简单处理按照文件名判断文件类型。
  4. 如果不需要校验可以不写校验。

#2 楼 @chairy11 已经搞定了,那个视频有点老了,rails4 里面做了一些比较重要的调整。谢谢

#3 楼 @Rei 目前搞定了修改后缀的问题,paperclip 可以支持使用别名,但是目前只搞定了一种格式的,我上传 rar 文件,在 Model 里面定义 content_type 为 application/octet-stream,Mime 初始化定义为 application/zip,这样是可以的,但是还有些没搞清楚这些对应关系,比如我如果压缩文件为 zip,怎么又不行了,还在继续探索

最近有没有做兼职或者跳槽的打算呀

#6 楼 @eryu 跳槽做什么呢?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号