2012-07-07 98 views
6

我知道我失去了一些东西很容易在这里存在远程文件...Carrierwave检查是否通过雾

CarrierWave::Storage::Fog::File有一个方法exists

我该如何使用它?我只是试图检查远程存储上是否存在以前上传的文件。

我的图像对象和我的上传器对象都无法访问此方法。当然,我不必创建一个新的CarrierWave::Storage::Fog::File对象来测试该文件是否存在?

如果是这样,我应该放入什么参数?它需要以下内容:上传者,基地,路径 (我使用了上传器,商店目录和图片网址,但没有起作用)

回答

18

假设您的模型用户带有使用Carrierwave的字段图像。 现在你可以这样写:

user = User.first 
user.image.file.exists? 

这将执行远程检查,返回true或false

+0

知道我失去了一些东西简单;非常感谢! – Demelziraptor 2012-08-04 14:38:29

+0

尽管这样做有效,但由于它正在执行远程检查,所以执行起来很慢,特别是如果您正在页面上的多个图像上执行此操作。 – 2016-03-13 18:39:15

+0

如何在将文件保存到数据库之前检查文件是否存在或上传?(使用S3存储,CarrierWave和Dropzone.js上传) – 2017-06-09 07:20:54