使用Alamofire进行多部分表单POST请求

4
我希望使用Swift中的Alamofire向我的Rails服务器发出请求。 我有一个简单的对象,我想要序列化,以及一些我想要作为多部分编码数据附加的图片。
在我的Rails端,请求很简单:
post :create, object: parameters, files: ['file1', 'file2'], format: :json

使用Alamofire,如何以最优雅的方式实现此功能?
2个回答

3
我还没有深入研究Alamo Fire,但是阅读文档后我认为其目前不支持此功能。具体而言,在标题为“何时使用AFNetworking”的文档结尾处指出:
请在以下情况下使用AFNetworking:
  • UIKit扩展,例如异步加载图像到UIImageView
  • TLS验证,使用AFSecurityManager
  • 需要NSOperation或NSURLConnection的情况,使用AFURLConnectionOperation
  • 网络可达性监测,使用AFNetworkReachabilityManager
  • 多部分HTTP请求构建,使用AFHTTPRequestSerializer
请注意,以上这些都是Alamo Fire所不支持的。

谢谢Brandon,我为这个调用导入了AFNetworking,看起来它可以工作。 - mattvv

0

我不确定你在问什么

在Swift 3中

但是对于实现MultiPartFormdata,以下代码可能会有用

Alamofire.upload(multipartFormData: { (multipartFormData) in
        multipartFormData.append(UIImageJPEGRepresentation(self.Imgprofile.image!, 1)!, withName: "Prescription", fileName: "Profile_Image.jpeg", mimeType: "image/jpeg")
    }, to:"Your URL Here")
    { (result) in
        switch result {
        case .success(let upload, _, _):
            print(result)

            upload.uploadProgress(closure: { (progress) in
                print(progress)
            })

            upload.responseJSON { response in
                //print response.result
                print(response);
            }

        case .failure(let encodingError):
            print(encodingError);
        }
    }
}

这是最新的可用语法


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