Gem 给 activestorage 顺手撸了个七牛的 service

mingyuan0715 · 2017年10月27日 · 最后由 mingyuan0715 回复于 2018年08月20日 · 1458 次阅读

本来 Refile 是我心目中最接近完美的ruby文件上传的工具了,不过还是有些细节让人比较不爽。 现在 ActiveStorage 取代了 refile 在我心目中的地位,试用下来,比较满意(除了不能设置默认图片这个不爽以外),顺手为其写了个 qiniu 的service

https://github.com/qinmingyuan/activestorage_qiniu

欢迎取用。

共收到 13 条回复

shrine 这个文件上传怎么看?

awking 回复

哈哈,我不是评测党啊。很早前关注过,不过没用过,我觉得也是受refile启发的作品,并且作者也是refile的主要contributor。 期间一直用的七牛,写几个简单的helper方法,感觉用不上这种框架了。 如果不是 activestorage 出来,和rails紧密结合,我也不会用。

https://twin.github.io/better-file-uploads-with-shrine-motivation/

as能直传吗?不经过app server

pynix 回复

可以呀,我还没研究七牛service的直传怎么实现。不过七牛的js sdk直传也很方便。

pynix 回复

直传用 js sdk吧

jun1st 回复

需要服务端配合的吧

awking 回复

shrine + tus + minio

pynix 回复

应该可以通过表单js sdk直接用表单提交的

jun1st 回复

好吧

这个 gem 相比 https://github.com/mycolorway/activestorage_qiniu/ 的优势是什么?

Rei 回复
  1. bug 比它少,不过我写的可能也挺多bug,毕竟测试代码几乎没有,但是确切的修复了几个彩程这个gem 现存的bug。
  2. 支持 QiniuHelper 独立的简单使用;
  3. 支持同步静态资源文件到七牛, 扩展了Sprockets
  4. 支持 直传(direct_upload)到七牛服务器,彩程设计的 就不支持;

本来我是写这个gem比彩程早的,后来准备上传到gems 服务器,发现彩程已经先我一步了就改名为 qiniu_rails 了。

彩程毕竟是个公司,可能让人觉得更可信赖一些。我写的这个也依然在公司生产环境使用稳定。

mingyuan0715 回复

彩程那个之前大概半年没更新,也有一些 bug 直接用跑不通,后来提交 issue 之后就更新了。

代码上我觉得彩程那个功能更专一,assets 我是通过 CDN 回源处理的,不需要扩展 sprokets。

因为他们前端没用 activestorage.js 而是自己实现,所以 dicret_upload 不能直接用,我想仿照你的实现给他们提个 pr。

有个问题,你的实现是更改了原先的 xhr 还是另外发起一个,原先的 xhr 会重复发送吗?

Rei 回复

我调试的时候明确看了请求是不会重复提交之前的xhr的。

14楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册