我想发送.post
请求上传图片。请求的基础是这cURL
:
curl -X POST \
--header "Authorization: 123456..." \
--header "X-Storage-Id: 123456..." \
--form fileItems[0].fileToUpload=@"/path/to/file1.txt" \
--form fileItems[0].path="/path1/path2/" \
--form fileItems[0].replacing=true \
--form fileItems[1].fileToUpload=@"/path/to/file2.txt" \
--form fileItems[1].path="/path1/path3/" \
--form fileItems[1].replacing=true \
http://example.com/uploadfiles
我有UIImage
来自:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
picker.dismiss(animated: true, completion: nil)
let image = info[UIImagePickerControllerEditedImage] as! UIImage
// image <------- i have this uiimage for uploading
}
如何通过Alamofire上传cazL上传image (UIImage)
?
let data = UIImagePNGRepresentation(image)!
let headers = ["Authorization": "...",
"X-Storage-Id": "..."]
let parameters = ["fileItems[0].replacing": "true",
"fileItems[0].path": "/path/something"]
Alamofire.upload(multipartFormData: { form in
form.append(data,
withName: "fileItems[0]",
fileName: "file1.png",
mimeType: "image/png")
parameters.forEach({
form.append($0.value.data(using: .utf8)!, withName: $0.key)
})
}, to: "https://example.com/uploadfiles", method: .post, headers: headers) { result in
//switch result { ... }
}