首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表达式的类型是不明确的,没有更多的上下文在Alamofire.upload中迅速3。

表达式的类型是不明确的,没有更多的上下文在Alamofire.upload中迅速3。
EN

Stack Overflow用户
提问于 2016-10-30 05:13:33
回答 3查看 34.2K关注 0票数 9

更新的Alamofire 4.0.0没有提到如何将Httpmethod & Httpheaders与multipartFormData一起上传。这就是为什么我谷歌和找到解决方案,在堆叠溢出的问题。但问题是,我做了同样的答案,然后得到了以下错误信息和构建失败。请帮我解决这个问题。

表达式的类型是模糊的,没有更多的上下文。

这是我的编码:

代码语言:javascript
复制
let URL = try! URLRequest(url: Config.imageUploadURL, method: .post, headers: headers)

Alamofire.upload(
    multipartFormData: { multipartFormData in
        multipartFormData.append(self.imageData, withName: "image", fileName: "file.png", mimeType: "image/png")
    },
    to: URL,
    encodingCompletion: { encodingResult in
        switch encodingResult {
        case .success(let upload, _, _):
            upload.responseJSON { response in
                if((response.result.value) != nil) {

                } else {

                }
            }
        case .failure( _):

        }
    }
)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-30 05:51:04

Alamofire.upload(multipartFormData:to:encodingCompletion:)URLConvertible作为to:参数。相反,您应该使用Alamofire.upload(multipartFormData:with:encodingCompletion:),它以URLRequestConvertible作为其with:参数。

我认为您的URL参数名(与URL()类型相同)有助于创建奇怪的编译器错误。

以下是为我编写的文件:

代码语言:javascript
复制
let url = try! URLRequest(url: URL(string:"www.google.com")!, method: .post, headers: nil)

Alamofire.upload(
    multipartFormData: { multipartFormData in
        multipartFormData.append(Data(), withName: "image", fileName: "file.png", mimeType: "image/png")
    },
    with: url,
    encodingCompletion: { encodingResult in
        switch encodingResult {
        case .success(let upload, _, _):
            upload.responseJSON { response in
                if((response.result.value) != nil) {

                } else {

                }
            }
        case .failure( _):
            break
        }
    }
)
票数 17
EN

Stack Overflow用户

发布于 2017-05-21 22:08:53

对我来说,构建错误是由multipartFormData.appendBodyData()引起的。用multipartFormData.append()代替后,问题得到了解决。

票数 1
EN

Stack Overflow用户

发布于 2017-08-16 12:06:50

我也犯了同样的错误,在花了很多时间之后,我发现问题是:

我是在传递MutableURLRequest而不是传递URLRequest对象。这就是为什么我会犯这个错误。在将其类型转换为URLRequest之后,它就开始工作了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40326210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档