繁体   English   中英

从Rails向Amazon s3上传图像时,回形针返回错误的URL

[英]Paperclip returning wrong url when uploading image from Rails to Amazon s3

我正在使用滑轨将图像上传到亚马逊s3,并且返回的URL不正确。 但是,我注意到在我的开发服务器日志中,:key中提供了正确的URL:

从2014年6月14日13:04:39 -0400开始,通过ProductsController#saveProduct的GET“ / product / add?index = 0”为96.250.13.59作为HTML参数:{“ index” =>“ 0”}“ http ://s3-us-west-2.amazonaws.com/vigme/products/image_s3s//original/goods_09_086661?1402765480 “(0.3ms)BEGIN SQL(4.5ms)插入productsbuy_urlftp_transfer_datetimeftp_transfer_deleted_sourceftp_transfer_deleted_source_datetimeftp_transfer_processedimage_s3_content_typeimage_s3_file_nameimage_s3_file_sizeimage_s3_updated_atimage_s3_url )值(“ http://www.uniqlo.com/us/women/outerwear/jackets-and-coats/stretch-tailoreded/women-6661 .html#08 ','2014-06-14 17:04:40',1,'2014-06-14 17:04:40',1,'image / jpeg','goods_09_086661',19478,'2014 -06-14 17:04:40',' http: //s3-us-west-2.amazonaws.com/vigme/products/image_s3s//original/goods_09_086661?1402765480')[回形针]保存/ products / image_s3s / 001/855/192 / original / goods_09_086661 [AWS S3 200 0.845202 0重试] p ut_object(:acl =>:public_read,:bucket_name =>“ vigme”,:content_length => 19478,:content_type =>“ image / jpeg”,:data => Paperclip :: HttpUrlProxyAdapter:goods_09_086661,:key =>“ products / image_s3s / 001/855/192 /原始/ goods_09_086661" )

最后一个符号:key,如果添加到亚马逊s3网址中,则包含正确的网址。 但是,它在顶部返回url。 我该如何解决?

好的,我自己想出了答案,所以只发布贴子来帮助任何发现类似问题的人。 问题是将图像的URL分配给产品实例后,我没有保存产品。 因此,不要求s3返回该图像的URL,因为该图像尚未保存在存储桶中。 例如

product.image_s3 = url_for_image
product.save

# now i can access it
s3_image_url = product.image_s3.url

与之前的尝试相反:

product.image_s3 = url_for_image
s3_image_url = product.image_s3.url
product.save

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM