相关疑难解决方法(0)

Alamofire 4上传参数

我正在做以下内容上传带参数的PNG文件:

    Alamofire.upload(
        multipartFormData: { multipartFormData in
            multipartFormData.append(UIImagePNGRepresentation(tempImage!)!, withName: "file", fileName: "picture.png", mimeType: "image/png")

            // Send parameters
            multipartFormData.append((UserDefaults.standard.value(forKey: Email) as! String).data(using: .utf8)!, withName: "email")
            multipartFormData.append("png".data(using: .utf8)!, withName: "type")

        },
        to: "user/picture",
        encodingCompletion: { encodingResult in
            switch encodingResult {
            case .success(let upload, _, _):
                upload.responseJSON { response in
                    debugPrint("SUCCESS RESPONSE: \(response)")
                }
            case .failure(let encodingError):
                self.removeSpinnerFromView()
                print("ERROR RESPONSE: \(encodingError)")

            }
        }
    )
Run Code Online (Sandbox Code Playgroud)

问题是在我的服务器上我没有看到emailtype表单字段.我按照在线发布的示例进行了操作.有什么我应该做的不同吗?

编辑

如果我删除我放置的部分:

multipartFormData.append(UIImagePNGRepresentation(tempImage!)!, withName: "file", fileName: "picture.png", mimeType: "image/png")
Run Code Online (Sandbox Code Playgroud)

然后包括参数.否则,我认为这是Alamofire 4.0.1中的一个错误.

alamofire swift3

15
推荐指数
1
解决办法
2万
查看次数

仅在Swift 4.2中上传包含多部分表单数据的图像

我尝试了很多解决方案。我得到了一些,但他们正在objective c code某个地方使用。我只需要在swift 4.2没有任何第三方的情况下(例如Alamofire)的解决方案objective c。使用class 可以很好地工作。

我已经能够仅使用标头,其他参数和图像发出POST请求,如下所示:

使用分段请求上传文件-Swift 4

如何使用Swift执行多部分/表单数据发布请求?

多部分表单(图像,参数,标题),快速与Alamofire一起发布请求

在Swift中使用多部分表单数据iOS上传图像

如何使用Swift将图像上传到iOS中的服务器?


func sendFile(
    urlPath:String,
    fileName:String,
    data:NSData,
    completionHandler: (NSURLResponse!, NSData!, NSError!) -> Void){

        var url: NSURL = NSURL(string: urlPath)!
        var request1: NSMutableURLRequest = NSMutableURLRequest(URL: url)

        request1.HTTPMethod = "POST"

        let boundary = generateBoundary()
        let fullData = photoDataToFormData(data,boundary:boundary,fileName:fileName)

        request1.setValue("multipart/form-data; boundary=" + boundary,
            forHTTPHeaderField: "Content-Type")

        // REQUIRED!
        request1.setValue(String(fullData.length), forHTTPHeaderField: "Content-Length")

        request1.HTTPBody = fullData
        request1.HTTPShouldHandleCookies = false

        let queue:NSOperationQueue = NSOperationQueue()

        NSURLConnection.sendAsynchronousRequest(
            request1,
            queue: queue, …
Run Code Online (Sandbox Code Playgroud)

multipartform-data ios swift swift4.2

6
推荐指数
1
解决办法
3440
查看次数

标签 统计

alamofire ×1

ios ×1

multipartform-data ×1

swift ×1

swift3 ×1

swift4.2 ×1