Pav*_* K. 10 file-upload ruby-on-rails paperclip
我开始使用nginx上传模块(创建上传文件,如/ tmp/000121545)但我需要回形针在保存文件时使用原始文件名(如/public/avatars/LuckyLuke.jpg)
以前在参数Rails传递的只是
"avatar"=>#<File:/tmp/RackMultipart20100413-6151-t3ecq0-0>
Run Code Online (Sandbox Code Playgroud)
没有原始文件名,所以我想知道它在哪里来回形针?我尝试查看插件代码,但它对我来说目前有点过于复杂.
mck*_*eed 19
浏览器发送带有文件名的http标头.("Content-Disposition:filename = original_file.jpg")
Rails使它可用作临时文件对象的实例方法:params[:avatar].original_filename和paperclip使用它.
详细地说,Rack在Rack :: Utils :: Multipart :: UploadedFile中解析多部分表单,并在包含:tempfile和的参数中放入一个哈希值:filename.然后ActionDispatch :: Http :: Upload出现并用File对象替换该哈希值(值为:tempfile),并使用模块ActionDispatch :: Http :: UploadedFile扩展它,后者original_path为该方法添加实例变量original_filename.
| 归档时间: |
|
| 查看次数: |
5608 次 |
| 最近记录: |