对成员'upload(

编程入门 行业动态 更新时间:2024-10-05 19:15:34
本文介绍了对成员'upload(_:to:method:headers:interceptor :)的含糊不清的引用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在使用 Alamofire 按下按钮上传图像,但在

I am uploading an image on button press using Alamofire, but it show an ERROR at

$ b中显示错误$ b

AF.upload(multipartFormData:{ MultipartFormData方法行

AF.upload(multipartFormData: { MultipartFormData line of method

(注意:Alamofire 5.0更新后,Alamofire.upload更改为AF.upload)

(Note : Alamofire.upload is change to AF.upload After Alamofire 5.0 Update)

@IBAction func btnUploadImage(_ sender: UIButton) { let uploadDict = ["user_id":getUserId] as [String:String] AF.upload(multipartFormData: { MultipartFormData in let image :Data = UIImageJPEGRepresentation(self.uploadImg.image!, 1.0)! MultipartFormData.append(image, withName: "image" , fileName: "image.jpeg" , mimeType: "image/jpeg") for(key,value) in uploadDict{ MultipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)} }, to: "XXXXXXXXXXXXXXXX/uploadImage", encodingCompletion: { EncodingResult in switch EncodingResult{ case .success(let upload, _, _): upload.responseJSON { response in debugPrint("SUCCESS RESPONSE: \(response)") } case .failure(let encodingError): print("ERROR RESPONSE: \(encodingError)") } })

//此代码的查看控制器

//View Controller for this code

import UIKit import Alamofire class updateVC: UIViewController, UIImagePickerControllerDelegate,UINavigationControllerDelegate { //MARK:- OUTLETS @IBOutlet weak var tFeditName: UITextField! @IBOutlet weak var tFusername: UITextField! @IBOutlet weak var tFemail: UITextField! @IBOutlet weak var uploadImg: UIImageView! @IBOutlet weak var tVeditAddress: UITextView! //MARK:- DECLARATIONS var imagePicker = UIImagePickerController() var editName = String() var editUserName = String() var editEmail = String() var editImage = UIImage() var editAddress = String() var getUserId = String() //MARK:- LIFE CYCLE override func viewDidLoad() { super.viewDidLoad() imagePicker.delegate = self tFeditName.text = editName tFusername.text = editUserName tFemail.text = editEmail uploadImg.image = editImage tVeditAddress.text = editAddress } //MARK:- CUSTOM FUNCTIONS func postJSON() { let param = ["fullname":tFeditName.text!,"username":tFusername.text!,"email":tFemail.text!,"address":tVeditAddress.text!,"user_id":getUserId] as NSDictionary AF.request("XXXXXXXXXXXXXXXXXXXX/updatedetails", method: .post, parameters: param as? Parameters, encoding: URLEncoding.default).responseJSON { response in switch response.result{ case .success(let json): print(json) DispatchQueue.main.async { print(param) } case.failure(let Error): print(Error) } } } //ImageViewPicker func openCamera() { if UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.camera) { let imagePicker = UIImagePickerController() imagePicker.delegate = self imagePicker.sourceType = UIImagePickerController.SourceType.camera imagePicker.allowsEditing = false self.present(imagePicker, animated: true, completion: nil) } else { let alert = UIAlertController(title: "Warning", message: "You don't have camera", preferredStyle: .alert) alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil)) self.present(alert, animated: true, completion: nil) } } func openGallery() { if UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.photoLibrary){ let imagePicker = UIImagePickerController() imagePicker.delegate = self imagePicker.allowsEditing = true imagePicker.sourceType = UIImagePickerController.SourceType.photoLibrary self.present(imagePicker, animated: true, completion: nil) } else { let alert = UIAlertController(title: "Warning", message: "You don't have permission to access gallery.", preferredStyle: .alert) alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil)) self.present(alert, animated: true, completion: nil) } } internal func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { if let pickedImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage { uploadImg.image = pickedImage } picker.dismiss(animated: true, completion: nil) } //MARK:- ACTIONS @IBAction func btnSelectImage(_ sender: UIButton) { let alert = UIAlertController(title: "Choose Image", message: nil, preferredStyle: .actionSheet) alert.addAction(UIAlertAction(title: "Camera", style: .default, handler: { _ in self.openCamera() })) alert.addAction(UIAlertAction(title: "Gallery", style: .default, handler: { _ in self.openGallery() })) alert.addAction(UIAlertAction.init(title: "Cancel", style: .cancel, handler: nil)) self.present(alert, animated: true, completion: nil) } @IBAction func btnUploadImage(_ sender: UIButton) { let image: UIImage? = self.uploadImg.image let uploadDict = ["user_id":getUserId] as [String:String] AF.upload(multipartFormData: { MultipartFormData in let image :Data = (image?.jpegData(compressionQuality: 1))! MultipartFormData.append(image, withName: "image" , fileName: "image.jpeg" , mimeType: "image/jpeg") for(key,value) in uploadDict{ MultipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)} }, to: "XXXXXXXXXXXXXXXX/uploadImage", encodingCompletion: { EncodingResult in switch EncodingResult{ case .success(let upload, _, _): upload.responseJSON { response in debugPrint("SUCCESS RESPONSE: \(response)") } case .failure(let encodingError): print("ERROR RESPONSE: \(encodingError)") } }) } @IBAction func btnUpdateDetails(_ sender: UIButton) { postJSON() self.navigationController?.popViewController(animated: true) }

}

推荐答案

我刚刚用

pod 'Alamofire', '~> 5.0.0-beta.5'

//示例代码

let image: UIImage? = self.uploadImg.image; let uploadDict = ["user_id":getUserId] as [String:String] Alamofire.upload(multipartFormData: { MultipartFormData in let image :Data = (image?.jpegData(compressionQuality: 1))! MultipartFormData.append(image, withName: "image" , fileName: "image.jpeg" , mimeType: "image/jpeg") for(key,value) in uploadDict{ MultipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)} }, to: "XXXXXXXXXXXXXXXX/uploadImage", encodingCompletion: { EncodingResult in switch EncodingResult{ case .success(let upload, _, _): upload.responseJSON { response in debugPrint("SUCCESS RESPONSE: \(response)") } case .failure(let encodingError): print("ERROR RESPONSE: \(encodingError)") } })

更多推荐

对成员'upload(

本文发布于:2023-11-26 10:09:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1633662.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:成员   upload

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!