ruby - 存储在 s3 上的文件未在浏览器中呈现

标签 ruby google-chrome amazon-s3

我正在复制从 s3 上的 .ipa 文件中提取的图像。该文件正在正确移动,但是当我每次尝试在浏览器中查看它时,它似乎已损坏,在谷歌浏览器中。如果我直接将文件下载到我的机器上并打开它,它看起来非常好。它在 Safari 中也呈现正常。

Dir.mktmpdir do |dir|
   Zip::File.open(tmp_ipa) do |zip_file|
   # Find Icon File
   icon = zip_file.find do |entry|
     entry.name.include? 'AppIcon76x76@2'
   end
   icon.extract(File.join(dir, 'AppIcon.png'))
     s3_icon = bucket.objects[icon_dest]
     s3_icon.write(Pathname.new(File.join(dir, 'AppIcon.png')))
     icon_url = s3_icon.public_url.to_s
   end
end

最佳答案

最有可能的问题是,当您将图像上传到 S3 时,您没有将 Content-Type 设置为 image/png。在命令行上试试这个:

curl -i http://your-bucket.s3.amazonaws.com/path/to/AppIcon.png

Content-Type header 是什么?如果不是 image/png,请在上传时设置。

关于ruby - 存储在 s3 上的文件未在浏览器中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27869979/

相关文章:

javascript:var 在 mozilla 中是 'undefined',在 chrome 上有效

python - Amazon S3 boto - 如何删除文件夹?

amazon-web-services - 如何存储托管在 Ubuntu 16.04 上的 dotnet 核心应用程序的 AWS 凭证?

amazon-web-services - 使用aws sdk在存储桶之间复制对象

ruby-on-rails - 如何垂直显示 simple_form

ruby - 如何使用 rspec 模拟 AWS SDK (v2)?

css - 相对父项 (Chrome 32.0.1700.77) 内绝对定位输入元素的 Chrome CSS 问题 : 0 not working

google-chrome - 通过批处理文件在弹出窗口中启动谷歌浏览器网站

ruby - 使用ohm ruby​​库在redis中进行简单分页

ruby-on-rails - 是否可以读取文件而不将其保存在 Rails 中?