将文件“上传”到缓冲区并停止rails,以保存tmp目录中的所有上传内容

时间:2013-12-28 01:41:18

标签: file-upload ruby-on-rails-4 buffer

我正在考虑如何上传文件而不将其保存在tmp目录中或其他任何地方。我只需要原始数据(bites),这样我就可以在缓冲区中使用它并将其作为原始数据处理。

问题是rails在上传时会自动将文件保存在临时目录中。我想停止这种行为。文件何时从临时目录中删除?

params看起来像这样

{"a_file"=>#<ActionDispatch::Http::UploadedFile:0x007ff01d261aa0 @tempfile=#<File:/var/folders/7n/__mg6lwj1nx17qzlx9xrtvnm0000gn/T/RackMultipart20131228-5260-mpj993>, @original_filename="blog-head.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"test[a_file]\"; filename=\"blog-head.jpg\"\r\nContent-Type: image/jpeg\r\n">}, "commit"=>"Save Test", "controller"=>"test", "action"=>"create"}

如您所见,该文件保存在/var/folders/7n/__mg6lwj1nx17qzlx9xrtvnm0000gn/T/RackMultipart20131228-5260-mpj993中。该文件实际上在那里。我想在整个申请中停止这一点。例如,作为用户,如果我修改任何表单并添加文件输入,我可以在文件系统中物理保存任何文件。我很确定我的unix系统以某种方式处理它,所以它是安全的,文件不能破坏任何东西。如果rails不能“自动化”,我会睡得更好。我想自己处理它:))

谢谢

0 个答案:

没有答案