我正在尝试使用服务器创建的签名网址从我的iOS
应用上传图片。使用签名网址执行 S3上传时,我收到HTTP 200
响应。但是,当我从浏览器中检查图像URL
时,我得到了一张损坏的图像。我认为HTTPBODY
出了问题。我正在寻找使用AWS sdk
的无的解决方案。
let imageData = UIImagePNGRepresentation(image)
.........
request.setValue("image/png", forHTTPHeaderField: "Content-Type")
request.setValue("public-read", forHTTPHeaderField: "x-amz-acl")
request.setValue("*", forHTTPHeaderField: "Access-Control-Allow-Origin")
request.HTTPBody = params.objectForKey("imageData") as? NSData
我甚至尝试过对数据进行编码,但没有任何效果。
let imageBase64= imageData!.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)
有人能说出代码有什么问题吗?
答案 0 :(得分:0)
可以请将Image转换为jpg,然后尝试上传。
如果您能够在浏览器上看到损坏的图像,则可能是尺寸问题。
请尝试
let data = UIImageJPEGRepresentation(image, 0.5)
您也可以检查s3上传的任何尺寸限制。
希望这会对你有所帮助。