我正在按照本教程使用 Carrierwave 进行文件大小验证,并且它在大多数情况下都可以正常工作。
在我的模型中...
validates :image, :file_size => { :maximum => 2.megabytes.to_i }
如果我要上传 5MB 的图片,我会收到错误Image is too big (should be at most 2 MB)。伟大的!问题是 5MB 文件保留在/uploads/tmp/
. 显然,这可能会占用大量资源,如果文件太大,我不希望文件保存。
有任何想法吗?提前致谢。
编辑
我正在使用 Heroku,并认为它可能与缓存和表单重新显示有关。见这里。我想换句话说,我想要做的是禁用图像的表单重新显示?因为图像确实显示(未处理并来自/uploads/tmp/
目录)。虽然如果我重新加载页面(不重新提交表单)图像从表单中消失,但文件仍然保留在/tmp
目录中。希望这是有道理的。