extension UploadImageViewController: UIImagePickerControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let pickedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
self.hederImageView.image = pickedImage
self.uploadUserIcon(fileName: "header.jpg", imgData: pickedImage.pngData()! as NSData)
}
picker.dismiss(animated: true, completion: nil)
}
typealias UploadUserIconSuccess = (_ dict:[String : Any]) -> Void
typealias FailedBlock = (_ dict:[String : Any]) -> Void
}
func uploadUserIcon(fileName: String, imgData: NSData) {
let urlStr = "【服务器IP】"
let headers: HTTPHeaders = [
"Accept": "application/json;charset=utf-8",
"lang":"en-US",
]
let defaultStand = UserDefaults.standard
let uid:String = defaultStand.object(forKey: AccountInfo().id) as! String
Alamofire.upload(multipartFormData: { (formData) in
formData.append(uid.data(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue))!, withName: "id")
formData.append(imgData as Data, withName: "file", fileName: fileName, mimeType:"multipart/form-data")
}, usingThreshold: (10*160*160), to: URL.init(string: urlStr)!, method: HTTPMethod.post,headers: headers) { (encodingResult) in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
if let jsonValue = response.result.value {
let json = JSON(jsonValue)
print("上传头像json:\(json)")
}
}
case .failure(_):
print("")
}
}
}