使用AFNetworking将图像上传到服务器达到了损坏

我一直在努力上传一个图像到服务器,它成功上传,但在服务器端,如果我试图打开它说cannot be displayed because it contains errors的图像, cannot be displayed because it contains errors 。我使用AFNetworking转换成JPEGRepresentation后上传图像。

 let uploadManager : AFHTTPSessionManager = AFHTTPSessionManager() uploadManager.responseSerializer = AFHTTPResponseSerializer() as AFHTTPResponseSerializer uploadManager.requestSerializer = AFHTTPRequestSerializer() as AFHTTPRequestSerializer uploadManager.requestSerializer.timeoutInterval = 20 uploadManager.POST(baseURL, parameters: nil, constructingBodyWithBlock: { (formData) -> Void in let selectedImage = self.userImage.image let imageData : NSData = UIImageJPEGRepresentation(selectedImage!, 0.5)! formData.appendPartWithFileData(imageData, name: "1", fileName: "userimage\(self.objManager.userID)", mimeType: "image/jpeg") print("Size of Image(Kbytes):\(imageData.length/1024)") print(baseURL) }, progress: nil, success: { (task, responseObject) -> Void in let jsonData: NSData = responseObject as! NSData let dataString = String(data: jsonData, encoding: NSUTF8StringEncoding) print(dataString) }) { (task, error) -> Void in } 

该图像来自imagePickerController

 func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) { print("Did finish picking the image succesfully") self.userImage.image = image picker.dismissViewControllerAnimated(true, completion: nil) // call uploading image function } 

什么导致图像被损坏? 我一直在与后端开发人员联系,他的机制是接收字节数组! 发送NSData到服务器,然后服务器将我的NSData转换为字节数组损坏图像? 还是好的? 我如何解决这个问题? 当我发送图像时是否有什么错误?

1)(task, error) -> Void in打印错误,如果它存在,因为如果出现问题,你会收到错误。

 NSLog("%@", error.localizedDescription) 

2)你确定这个name: "1"name: "1"吗? 因为这是后端获取文件数据的字段的名称(请询问您的后端开发人员的该字段名称)

3)追加文件typesjpeg上传图片名称:

 formData.appendPartWithFileData(imageData, name: "1", fileName: "userimage\(self.objManager.userID).jpeg", mimeType: "image/jpeg")