表达式类型“()”在没有更多上下文的情况下是含糊不清的。

3

我正试图使用以下代码(其中photo.image是UIImage)使用Alamofire进行上传:

let imageData = UIImageJPEGRepresentation(photo.image, 1.0)

Alamofire.upload(
    multipartFormData: { multipartFormData in
        multipartFormData.append(data: imageData!, withName: "unicorn")
    },
    to: "https://httpbin.org/post",
    encodingCompletion: { encodingResult in
        switch encodingResult {
        case .success(let upload, _, _):
            upload.responseJSON { response in
                debugPrint(response)
            }
        case .failure(let encodingError):
            print(encodingError)
        }
    }
)

然而,这告诉我“表达式类型'()'在没有更多上下文的情况下是不明确的。”

我不确定我在这里做错了什么,希望能得到一些建议。


1
你在哪一行出现了问题? - Marco Santarossa
这是哪个Alamofire版本?我在任何上传方法重载中都找不到“to”参数。 - marosoaie
@MarcoSantarossa:第一个。 - Ryan Bigg
@marosoaie: 4.0.0 - Ryan Bigg
我也遇到了同样的问题。你解决了吗? - sfkaos
@sfkaos 是的,我做了。我为这个问题添加了一个答案。 - Ryan Bigg
1个回答

2

我之前传递给multipartFormData的参数是错误的。下面是正确参数的示例:

multipartFormData: { multipartFormData in
                    multipartFormData.append(imageData!, withName: "photo", fileName: "image.jpg", mimeType: "image/jpg")
                },

感谢您发布这篇文章。由于您的帖子,我找到了最简单的解决方法,这是我在寻找解决愚蠢的Swift加密错误的超过150亿次搜索中找到的。干杯! - Nick M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接