Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 回形针及;S3:如何在不重新加载的情况下更改附件路径_Ruby On Rails 3_Amazon S3_Paperclip - Fatal编程技术网

Ruby on rails 3 回形针及;S3:如何在不重新加载的情况下更改附件路径

Ruby on rails 3 回形针及;S3:如何在不重新加载的情况下更改附件路径,ruby-on-rails-3,amazon-s3,paperclip,Ruby On Rails 3,Amazon S3,Paperclip,我有一个应用程序,通过回形针上传了很多图像,并存储在S3上。我遇到了一些问题,S3告诉我的iOS应用程序一些图像键不存在(尽管我在查看S3存储桶时发现它们确实存在)。我的一个理论是,这是由文件名引起的,所以我想简化我的回形针路径 我现有的路径是: :path => "/:class/:style/:id_:basename.:extension" 我希望是这样 :path => "/:class/:id/:style.:extension" 这样更干净 我的问题是我不知道该怎么做

我有一个应用程序,通过回形针上传了很多图像,并存储在S3上。我遇到了一些问题,S3告诉我的iOS应用程序一些图像键不存在(尽管我在查看S3存储桶时发现它们确实存在)。我的一个理论是,这是由文件名引起的,所以我想简化我的回形针路径

我现有的路径是:

:path => "/:class/:style/:id_:basename.:extension"
我希望是这样

:path => "/:class/:id/:style.:extension"
这样更干净

我的问题是我不知道该怎么做。我的第一个想法是更改模型中的路径格式字符串,然后重新处理!所有的附件,但现在我意识到,回形针需要使用原始路径获取原始上传的图像,然后才能重新处理图像并将其保存到新路径

有没有一种简单、快捷的方法来进行这种改变


谢谢

不能在S3中“重命名”对象。但是,在S3中有一个复制对象的方法。复制对象后,请删除原始对象。

谢谢您提供的信息。事实上,我可以使用Transmit将我的S3帐户像文件系统一样安装在mac上,因此我可以使用一些批处理重命名魔术来完成这项任务……我现在还不知道这个魔术。:)如果您了解Java,那么它可以让您相当轻松。