我尝试通过 AlamofireImage 框架从 Amazon S3 服务器下载图像。
S3 服务器上的图像,使用 'Content-Type' = 'binary/octet-stream' 保存。
一开始我得到了错误:
Failed to validate response due to unacceptable content type.
因此,我尝试更改/更新 HTTP 标头的请求以支持二进制/八位字节流'
我更新了方法:
private func URLRequestWithURL(URL: NSURL) -> NSURLRequest
在 UIImageView+AlamofireImage.swift 文件中:
private func URLRequestWithURL(URL: NSURL) -> NSURLRequest {
let mutableURLRequest = NSMutableURLRequest(URL: URL)
mutableURLRequest.addValue("binary/octet-stream", forHTTPHeaderField: "Content-Type")
return mutableURLRequest
}
并且仍然无法正常工作,就在我添加以下内容之后:
let contentTypes: Set<String> = ["Content-Type", "binary/octet-stream"]
Request.addAcceptableImageContentTypes(contentTypes)
问题解决了,但是我真的不喜欢我在AlamofireImage框架中更改了一个私有方法。
我想知道是否有一种优雅的方法可以解决这个问题,因为我无法更改 S3 服务器中的图像“Content-Type”。
谢谢