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

codemonkey · March 12, 2016 · Last by codemonkey replied at March 12, 2016 · 1472 hits

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

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

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

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

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

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

You need to Sign in before reply, if you don't have an account, please Sign up first.