Swift 从存储器中获取图像时出错,消息为';Alamofire.AFError.ResponseValidationFailureReason.unacceptableContentType';

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”、“图像/

我试图从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版本:

    • 阿拉莫菲尔:5.0.2
    • 阿拉莫菲图像4.0.2
    最初我使用AlamofireImage:
    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个错误代码。事实上,我不知道为什么。