我让 Carrierwave 将图像上传到我的站点并将它们存储在 S3 上。
但是,每当用户编辑记录时,即使他们不需要更改图像,他们也必须再次上传图像。我想让现有图像继续使用,除非用户“选择”上传新图像。
我让 Carrierwave 将图像上传到我的站点并将它们存储在 S3 上。
但是,每当用户编辑记录时,即使他们不需要更改图像,他们也必须再次上传图像。我想让现有图像继续使用,除非用户“选择”上传新图像。
在carrierwave wiki中,您有一个部分如何:保留上传的文件(针对特定的上传者)。我不知道这是否适用于 S3,但您可以尝试一下。
要保留所有上传的文件,请使用如下初始化程序:
CarrierWave.configure do |config|
config.remove_previously_stored_files_after_update = false
end
如果您想在每次上传的基础上进行配置:
class AvatarUploader < CarrierWave::Uploader::Base
configure do |config|
config.remove_previously_stored_files_after_update = false
end
...
end
我不知道我做了什么,但这现在正在工作。虽然 UI 没有反映图像仍然存在,但用户不需要再次上传图片。