[英]Upload an image using alamofire swift
self.manager!.request( RestApiManager.sharedInstance.baseURL+"rest/secure/add/"+self.id!+"/create?language="+lang, method: .post, parameters: requestDictionary, encoding: URLEncoding.httpBody,headers: headers ).responseObject(keyPath: "") { (response: DataResponse<User>) in
This is how I call my post method, however I need to add image file uploaded as well with it. 这就是我调用post方法的方式,但是我还需要添加上传的图像文件。 Entity part called uploadFile.How this be done ? 实体部分称为uploadFile。如何完成?
entity.addPart("uploadFile", new FileBody(f100)); let image_data = UIImagePNGRepresentation(imagetoadd.image!)
I want to upload an image , with parameters heading as well like username - john and headers, plus i want to get dataresponse type user ( mapped to) 我想上传一个图像,带有参数标题以及用户名-john和headers,再加上我想获取dataresponse类型的用户(映射到)
am trying sthg like this in swift 3, its not working. 我正在迅速3尝试这样的操作,它不起作用。
self.manager!.upload(.post,RestApiManager.sharedInstance.baseURL+"rest/secure/stores/"+self.id!+"/create?language="+lang, // define your headers here multipartFormData: { multipartFormData in // import image to request if let imageData = UIImageJPEGRepresentation(image, 1) { multipartFormData.appendBodyPart(data: image_data, name: "uploadFile", fileName: nameOfImage+".png", mimeType: "image/png") } // import parameters for (key, value) in parameters { multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key) } }, // you can customise Threshold if you wish. This is the alamofire's default value encodingMemoryThreshold: manager.MultipartFormDataEncodingMemoryThreshold, encodingCompletion: { encodingResult in switch encodingResult { case .Success(let upload, _, _): upload.responseJSON { response in debugPrint(response) } case .Failure(let encodingError): print(encodingError) } },headers: headers) }
Missing argument using trashold in call.Am using latest alamofire library 使用最新的alamofire库在call.Am中缺少参数
func uploadImageInDatabase(image:UIImage)
{
let imageData = UIImageJPEGRepresentation(image, 0.4)
let url = "Your server url"
let date = NSDate()
let df = DateFormatter()
df.dateFormat = "dd-mm-yy-hh-mm-ss"
let imageName = df.string(from: date as Date)
print(imageName)
SVProgressHUD.show(withStatus: "Loading")
Alamofire.upload(multipartFormData: { (multipartFormData) in
multipartFormData.append(imageData!, withName: "uploadedfile", fileName: "\(imageName).jpeg", mimeType: "image/jpeg")
}, to: url) { (encodingResult) in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON{
response in
if let data = response.result.value{
DispatchQueue.main.async {
if(response.response?.statusCode == 200){
//callback(true, JSON(data), JSON((response.response?.statusCode)!))
let Data = data as! NSDictionary
showAlert(message: Data["msg"]as! NSString)
self.ImageURL = Data["data"]as! String
print(self.ImageURL)
SVProgressHUD.dismiss()
} else{
//callback(false, JSON(data), JSON((response.response?.statusCode)!))
print(data)
SVProgressHUD.dismiss()
}
}
}
}
case .failure(let encodingError):
print(encodingError)
SVProgressHUD.dismiss()
DispatchQueue.main.async {
//callback(false,JSON(self.getStatusCodeString(408)),JSON(408))
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.