【发布时间】:2019-11-07 00:14:55
【问题描述】:
我尝试将带有多个参数的图库中的图像上传到服务器,但找不到任何有用的示例,因为它们中的大多数已被弃用。不知道从哪里开始。
func uploadImageAndData(){
let periode = periodeField.text
let kode_wilayah = kodeWilayahField.text
let nama_petugas = namaPetugasField.text
let upload_file = myImageView.image
var parameters = [String:AnyObject]()
parameters = ["periode":periode,
"kode_wilayah":kode_wilayah,
"nama_petugas":nama_petugas,
"uploaded_file": upload_file] as [String : AnyObject]
let URL = "myURL"
Alamofire.upload(
multipartFormData: { (multipartFormData) in
if let imageData = upload_file?.jpegData(compressionQuality: 0.3){
multipartFormData.append(imageData, withName: self.myFileName)
}
}, to:URL)
{ (result) in
switch result {
case .success(let upload, _ , _):
upload.uploadProgress(closure: { (progress) in
//print("uploding")
print("Upload Progress: \(progress.fractionCompleted)")
})
upload.responseJSON { response in
debugPrint(response)
print("done")
print(response.result.value)
}
case .failure(let encodingError):
print("failed")
print(encodingError)
}
}
}
这来自图像选择器功能,从图库中选择图像没有问题。
@objc func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
myImageView.image = info[UIImagePickerController.InfoKey.originalImage] as! UIImage
let data = image.pngData()! as NSData
data.write(toFile: localPath!, atomically: true)
let photoURL = URL.init(fileURLWithPath: localPath!)
}
self.dismiss(animated: true, completion: nil)
}
我可以获取路径,但不能将其提供给上传功能。非常感谢您的帮助。
【问题讨论】:
-
我不明白这部分:(imgData,withName:“fileset”,fileName:“file.jpg”,mimeType:“image/jpg”)如果我使用imagepicker,我应该填写什么?
-
在你的情况下,你可以使用 like (imageData, withName: "uploaded_file",fileName: "AnyName.jpg", mimeType: "image/jpg")
标签: ios swift multipartform-data image-uploading