新手问题 [已解决] 读 Carrierwave 源码疑问

codemonkey · 2016年03月12日 · 最后由 codemonkey 回复于 2016年03月12日 · 1477 次阅读

carrierwave 这个库用来处理接收数据,我的疑问是下面

1 这个库是不是基于 rails 的。就是 rails 实际上接收完文件,carrierwave 然后再处理这个文件

2 如果不是我上面说的,那么 carrierwave 是怎么处理传来的二进制数据,例如上传文件,应该是文件,变成字节流,接收之后再存储在磁盘上,它的代码在哪里。我没找到

Carrierwave 这个库不是基于 Rails 的,或者说在非 Rails 项目中也能使用。

实际上处理上传的二进制数据的是 Web server,处理后把请求封装成 Ruby 对象(request 对象)转交给 Rails,这个时候 Rails 看到的上传文件,是 params 中的一个 File 对象的实例,真实的二进制文件存在 tmp 目录下,然后 Carrierwave 通过操作 File 对象把文件转存到磁盘的目标位置。

#1 楼 @lgn21st 十分感谢,我懂了

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