Swift 从存储器中获取图像时出错,消息为';Alamofire.AFError.ResponseValidationFailureReason.unacceptableContentType';
我试图从Firebase存储获取图像,但出现错误消息: Alamofire.AFError.responseValidationFailed(原因:Alamofire.AFError.ResponseValidationFaileureReason.unacceptableContentType(可接受的内容类型:[“图像/x-xbitmap”、“图像/jpeg”、“应用程序/八位字节流”、“图像/gif”、“图像/ico”、“图像/tiff”、“图像/x-icon”、“图像/bmp”、“图像/x-bmp”、“图像/x-win-位图”、“图像/png”、“图像/x-ms-bmp”],responseContentType:“应用程序/json”) 我的url如下所示: 我可以通过浏览器下载此图像 我的图像具有MIME类型“image/jpeg”: 我发现了同样的情况: 这些提示并没有帮助我修复我的bug pod版本:Swift 从存储器中获取图像时出错,消息为';Alamofire.AFError.ResponseValidationFailureReason.unacceptableContentType';,swift,alamofire,alamofireimage,alamofire-request,Swift,Alamofire,Alamofireimage,Alamofire Request,我试图从Firebase存储获取图像,但出现错误消息: Alamofire.AFError.responseValidationFailed(原因:Alamofire.AFError.ResponseValidationFaileureReason.unacceptableContentType(可接受的内容类型:[“图像/x-xbitmap”、“图像/jpeg”、“应用程序/八位字节流”、“图像/gif”、“图像/ico”、“图像/tiff”、“图像/x-icon”、“图像/bmp”、“图像/
- 阿拉莫菲尔:5.0.2
- 阿拉莫菲图像4.0.2
productImageView.af.setImage(带url:url)
,但它不起作用。然后我开始使用Alamofire。在请求中,我传递MIME类型图像/jpeg像内容类型:
我决定用这种方法来修复这个bug,但也有同样的错误,我不明白为什么()
如果您可以在错误消息中看到我有:
responseContentType:“应用程序/json”
那么,获取图像是否有任何副作用?我到底做错了什么?首先,您的请求头与响应是否有效无关,因此添加
image/jpeg
没有帮助。其次,您的响应是返回一个应用程序/json
内容类型,因此将图像/jpeg
添加到可接受的上下文中nt类型不会有帮助(并且image/jpeg
已经可以接受)。(另外,您需要import AlamofireImage
来获得addAcceptableImageContentTypes
才能工作。)
最后,您应该确保您得到了预期的响应,因为应用程序/json
内容类型意味着您得到的是一个json正文,而不是请求的图像。当我请求您发布的URL时,我得到了以下json响应:
{
"error": {
"code": 400,
"message": "Invalid HTTP method/URL pair."
}
}
因此,您最有可能需要仔细检查您应该如何发出请求。首先,您的请求头与响应是否有效无关,因此添加
image/jpeg
没有帮助。其次,您的响应是返回应用程序/json
内容类型,因此将图像/jpeg
添加到ac可接受的内容类型不会有任何帮助(并且image/jpeg
已经可以接受)。(另外,您需要import AlamofireImage
才能获得addAcceptableImageContentTypes
才能工作。)
最后,您应该确保您得到了预期的响应,因为应用程序/json
内容类型意味着您得到的是一个json正文,而不是请求的图像。当我请求您发布的URL时,我得到了以下json响应:
{
"error": {
"code": 400,
"message": "Invalid HTTP method/URL pair."
}
}
因此,您很可能需要再次检查您应该如何提出请求。链接应该是
将项目名称、图像名称和令牌替换为您的链接
将projectname、image name和token替换为您的谢谢您的回答)我添加了import AlamofireImage以访问,但它不起作用。我给了你错误的url——你可以在url中看到,因为我认为这是私人信息。很抱歉。我在浏览器的地址栏中测试了正确的url,你们是对的,我有400个错误代码。事实上,我不知道为什么。谢谢你的回答)我添加了导入AlamofireImage来访问,但它不起作用。我给了你错误的url——你可以在url中看到,因为我认为这是私人信息。很抱歉。我在浏览器的地址栏中测试了正确的url,你们是对的,我有400个错误代码。事实上,我不知道为什么。