我正在复制从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
答案 0 :(得分:3)
最可能的问题是,当您将图像上传到S3时,未将Content-Type
设置为image/png
。在命令行上尝试:
curl -i http://your-bucket.s3.amazonaws.com/path/to/AppIcon.png
Content-Type
标题是什么?如果不是image/png
,请在上传时设置。
答案 1 :(得分:2)
这几乎可以肯定是因为Apple uses a non-standard proprietary extension of the PNG file format for the PNG files in an iPhone APP(archived link),例如您说它是从.ipa
中提取的。
它在Safari中工作的原因是因为Safari使用操作系统的图像解码库,它们支持这种非标准格式。
are some conversion scripts out there,work with varying success。