Swift 4:如何使用 Alamofire 在参数中发布文件?
Posted
技术标签:
【中文标题】Swift 4:如何使用 Alamofire 在参数中发布文件?【英文标题】:Swift 4: How to post a file in params with Alamofire? 【发布时间】:2018-10-30 09:12:15 【问题描述】:enter image description here
图片是我如何将文件上传到后端 API 的 Postman 示例。我正在努力如何使用 Alamofire 上传文件或 image.png/jpg?因为我无法在 Param 中包含该文件。
【问题讨论】:
借助multipart,可以发送文件/图片。 【参考方案1】:试试这个代码
let image = UIImage.init(named: "myImage")
let imgData = UIImageJPEGRepresentation(image!, 0.2)!
let parameters = ["custid": 1] //Optional for extra parameter
Alamofire.upload(multipartFormData: multipartFormData in
multipartFormData.append(imgData, withName: "fileset",fileName: "file.jpg", mimeType: "image/jpg")
for (key, value) in parameters
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
//Optional for extra parameters
,
to:"mysite/upload.php")
(result) in
switch result
case .success(let upload, _, _):
upload.uploadProgress(closure: (progress) in
print("Upload Progress: \(progress.fractionCompleted)")
)
upload.responseJSON response in
print(response.result.value)
case .failure(let encodingError):
print(encodingError)
【讨论】:
以上是关于Swift 4:如何使用 Alamofire 在参数中发布文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Alamofire,Swift 4 为 UICollectionView 获取 JSON 数据
如何在 Swift 3 中使用 Alamofire 4 解析这个 json?
如何在 Swift 4 中使用 Alamofire 上传具有其他参数的多个图像
Alamofire 4 请求返回 NSArray,无法弄清楚如何在 Swift 3 中使用 SwiftyJSON 进行解析