我正在尝试像这样使用Alamofire上传图像...
func callImageUploadAPI() {
for i in ArrayData.shared.imageAndIDDictArray {
let id = "\(i["id"]!)"
let url = "http://api-the-upload-api/api/observation/uploadImage/\(id)"
let headers = [
"Accept": "application/json",
"Authorization": theToken
]
let parameters: [String: String] =
[
"id": "\(i["id"]!)"
]
Alamofire.upload(multipartFormData: {(multipartFormData) in
let filePath = NSURL(fileURLWithPath: url)
let type = "image/jpg"
var image = "\(i["image"]!)"
var imageData = Data(image.utf8)
imageData.append(("Content-Type: \(type)").data(using: .utf8)!)
multipartFormData.append (imageData, withName: "file", fileName: "\(Date().timeIntervalSince1970).jpg", mimeType: "image/jpg")
for (key, value ) in parameters {
print(key,value)
multipartFormData.append(value.data(using: .utf8)!, withName: key)
}
}, to: url, method: .post, headers: headers)
{ (result) in
switch result {
case .success(let upload, _,_ ):
upload.uploadProgress(closure: { (progress) in
UILabel().text = "\((progress.fractionCompleted * 100)) %"
print (progress.fractionCompleted * 100)
})
upload.responseJSON { response in
if let JSON = response.result.value {
print(JSON) //SHOWS THE ERROR 'Only images files are allowed'
}else{
print("Error")
}
}
case .failure(let encodingError):
print(encodingError)
break
}
}
}
}
但是当我这样上传时,图像不会上传。但是,我可以进入成功案例。但是在成功块中,打印的JSON为Only images files are allowed
。不知道为什么会这样。
但是当我通过上传图像来满足POSTMAN的请求时,该图像将被正确上传。
<< http:// ...