0
我的应用程序允许用户上传图像,然后创建该图像的不同版本(例如与另一图像对齐和裁剪)。中间步骤是我需要将上传的文件复制到另一个对象并进行处理。最简单的方法是在本地上传它。本地文件上传:File.open或StringIO
来自carrierwave wiki,they suggest using a modified version of StringIO。
在carreirwave自述,他们也建议使用File.open(类似obj.image=File.open('path_to_file')
。
我还发现引用使用从ActionDispatch::TestProcess
(通常在测试fixture_file_upload
,但我不确定它为什么被限制到该环境)。
谁能给我使用这些方法对利弊一个很好的解释(如果有的话)?
感谢。
我不是100%确定stringIO是如何工作的,但是你要非常小心,不要将整个文件加载到内存中,否则你的ruby进程会增加一些非常大的潜在内存增加。 – Kevin