Alamofire:支持上传包含文本和文件部分的多部分表单?

时间:2015-07-15 22:34:46

标签: ios xcode macos swift alamofire

Alamofire现在支持通过multipart form上传来上传文件。

然而,通过查看MultipartFormData类API,我没有看到发送异构数据的明显方式 - 纹理plain / json数据以及假定的二进制文件数据。在我的阅读中 - 在当前形式中,它看起来更像是一个多文件(二进制流)上传而不支持文本或json部分。

我错过了什么吗?如何上传文本/ json数据部分以及假定的文件数据部分?是否有任何示例代码可以执行此操作?

为了完整,我一直在编写扩展来填补其中一些内容,但我一直认为必须有一种更简单的方法(我的更改需要对Alamofire进行一些修改)。

那就是说,以及它的价值,这是我尝试清洁的形式:

multipartFormData: { form in
    form.appendBodyPart(Multipart.plain("person", text:"\(last.id)")!)
    form.appendBodyPart(Multipart.json("thing", parameters:parameters)!)
    form.appendBodyPart(fileURL: puppyFile, name: "file") },

显然,支持的解决方案比重新发明的车轮更好,因此问题。

PS。我按照Alamofire文档发布今年,SO是帮助和讨论的首选媒介。

1 个答案:

答案 0 :(得分:2)

我的帖子时不支持此功能,但此后已在multipart_form分支上实施1.3版本,现已发布。这个相关问题是:

https://github.com/Alamofire/Alamofire/pull/596