使用 Alamofire 上传图片以及其他字符串数据
Posted
技术标签:
【中文标题】使用 Alamofire 上传图片以及其他字符串数据【英文标题】:Upload Picture along With other string data using Alamofire 【发布时间】:2015-09-15 08:56:01 【问题描述】:到目前为止,我一直在使用下面的代码将个人资料图片数据上传到服务器。
Alamofire.upload(.POST,
URLString: "https://example.com/api/v1/users/profile_pic.json?auth_token=\(auth_token)",
multipartFormData: multipartFormData in
multipartFormData.appendBodyPart(data: imageData, name: "avatar", fileName: "avatar_img.png", mimeType: "image/png")
,
encodingCompletion: encodingResult in
switch encodingResult
case .Success (let upload, _, _):
upload.responseJSON request, response, data, error in
// Do whatever
case .Failure (let encodingError):
)
但现在我还需要将我的用户的其他详细信息上传到服务器,例如 first_name 和 last_name。我应该如何与图片数据一起在一个请求中做到这一点?
【问题讨论】:
【参考方案1】:你可以这样做
Alamofire.upload(.POST, path, headers: self.predefinedHeaders, multipartFormData: multipartFormData in
multipartFormData.appendBodyPart(data: imageData, name: "avatar", fileName: "avatar_img.png", mimeType: "image/png")
for (key, value) in parameters
multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
, encodingCompletion: encodingResult in
//your handling
)
【讨论】:
以上是关于使用 Alamofire 上传图片以及其他字符串数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 4 中使用 Alamofire 上传具有其他参数的多个图像