主动存储和 S3

Active Storage and S3

我将 Active Storage 设置为使用 Amazon AWS S3。我已经全部设置好了。当我上传一张图片时,它会很好地显示在我的 AWS 存储桶中。我遇到的问题是,当我通过 <img src="<%= url_for(current_user.avatar) %>"> 显示图像时,我得到一个损坏的图像 link。

现在我在页面上检查得到的是: <img src="/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--15a99e4747fa8cdc7cd4bacf3de460d6ce4066de/AlanAlda.png">

但我在 rails 控制台中得到的是: Redirected to https://hpotter.s3.amazonaws.com/kf3kzqzj54am38jjd7k3jfux4q3d?response-content-disposition=inline%3B%20filename%3D%22AlanAlda.png%22%3B%20filename%2A%3DUTF-8%27%27AlanAlda.png&response-content-type=image%2Fpng&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQQXYWGXDLPMYBQGW%2F20191130%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191130T011149Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&X-Amz-Signature=4c8fff1e88e6b9647d40f73e499edba2078f7a6d9f9c2fb0870477f2a62e9bc7 Completed 302 Found in 141ms (ActiveRecord: 0.9ms | Allocations: 182103) 所以它连接到正确的图像 link 但它 link 在实际的网络浏览器中是不同的。

有什么想法吗?

值“/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--15a99e4747fa8cdc7cd4bacf3de460d6ce4066de/AlanAlda.png"”是 Base64 编码的。

你是否正确设置了cors https://github.com/rails/rails/issues/30723