Reputation: 2090
i want to send .post
request to upload an image. base of request is this 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
i have UIImage
from :
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
}
how to upload image (UIImage)
with above cURL via Alamofire?
Upvotes: 0
Views: 165
Reputation: 23500
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 { ... }
}
Upvotes: 3