如何将已存储在 s3 上的文件添加到由同一数据存储支持的carrierwave?

Posted

技术标签:

【中文标题】如何将已存储在 s3 上的文件添加到由同一数据存储支持的carrierwave?【英文标题】:how do I add files already stored on s3 to carrierwave backed by same datastore? 【发布时间】:2013-06-02 20:22:44 【问题描述】:

我的 s3 中已经有文件,这些文件是通过 FTP 上传的,我只想将它们附加到我的模型中,如果我使用同一个存储桶来存储我上传的文件,则允许通过 CarrierWave 上传通过 CarrierWave 和我通过 FTP 上传的那些,有没有办法将文件的 s3 密钥分配给(通过模型)文件本身通过 CarrierWave 的附件策略处理的(新)关联记录?

【问题讨论】:

【参考方案1】:

假设您已经创建了缩略图,并且可以将文件存储在 S3 上的正确目录中,您可以简单地:

@user.update_column(:image, "your-image-name.png")

这不会执行任何回调,carrierwave 将假定所有处理都已完成。

不过,这是很多假设,所以这在现实中可能不适合您。

【讨论】:

我想这是我可以尝试的。 其实这个完全正确;看起来确实需要精确命名该文件,但是,我认为,考虑到我的用例,这样就可以了。

以上是关于如何将已存储在 s3 上的文件添加到由同一数据存储支持的carrierwave?的主要内容,如果未能解决你的问题,请参考以下文章

复制同一 Amazon S3 存储桶中的文件

查询所寻址的 S3 存储桶与该集群位于不同的区域

如何使用angular js将aws s3文件复制到同一个存储桶中的特定文件夹

如何将 AWS S3 存储桶与远程非 AWS 服务器上的文件同步?

如何解决拒绝访问 aws s3 文件?

获取存储在 Amazon S3 上的图像的图像高度和宽度