Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 AWS S3为可视化托管样式和路径样式URL提供不同版本的文件_Ruby_Amazon S3_Aws Sdk_Carrierwave - Fatal编程技术网

Ruby AWS S3为可视化托管样式和路径样式URL提供不同版本的文件

Ruby AWS S3为可视化托管样式和路径样式URL提供不同版本的文件,ruby,amazon-s3,aws-sdk,carrierwave,Ruby,Amazon S3,Aws Sdk,Carrierwave,我有一个rails应用程序,它使用载波将文件上传到S3。所以在通过attachmentuploader上传文件之后。我正在数据库中保存给定对象的公共url。aws sdk ruby gem返回的公共url为可视化托管样式 https://BUCKETNAME.s3.REGION.amazonaws.com/tests/TESTNAME.zip 如果我在s3中检查对象url,它将采用路径样式- https://s3.REGION.amazonaws.com/BUCKETNAME/tests/TES

我有一个rails应用程序,它使用载波将文件上传到S3。所以在通过attachmentuploader上传文件之后。我正在数据库中保存给定对象的公共url。aws sdk ruby gem返回的公共url为可视化托管样式

https://BUCKETNAME.s3.REGION.amazonaws.com/tests/TESTNAME.zip

如果我在s3中检查对象url,它将采用路径样式-

https://s3.REGION.amazonaws.com/BUCKETNAME/tests/TESTNAME.zip

关于

这里的问题是,如果我在更新资产后访问存储在数据库中的公共url,它将指向以前的版本,而不是像object_url那样指向最新版本。那个么为什么公共url并没有更新到最新版本,而这个问题是在2天前出现的呢。任何见解都会有帮助

更新


现在这个问题自动解决了。所以如果有人面对这个问题或者有任何理解。请让我知道

在创建同名的s3对象之前,您是否尝试过删除s3对象?是否尝试过清除浏览器缓存以查看是否是原因?如果是这样的话,那么你可以修改一些元数据,告诉浏览器缓存一个对象需要多长时间。事实并非如此。在创建同名的s3对象之前,您是否尝试过删除s3对象?是否尝试过清除浏览器缓存以查看是否是原因?如果是这样的话,那么你可以修改一些元数据,告诉浏览器缓存一个对象需要多长时间。事实并非如此