在网上一搜索AFN上传图片,一大堆:app
`NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"image"] = newImageData; params[@"fileName"] = fileName; params[@"oldFile"] = self.users.photo; params[@"userid"] = @(self.users.ID);post
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.requestSerializer = [AFHTTPRequestSerializer serializer]; [SVProgressHUD show]; [SVProgressHUD setDefaultStyle:SVProgressHUDStyleDark]; [manager POST:urlString parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { // 在这个block中设置须要上传的文件 [formData appendPartWithFileData:newImageData name:@"image" fileName:@"test.png" mimeType:@"image/png"]; } progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { if ([[responseObject objectForKey:@"code"] intValue] != 200) { [SVProgressHUD showErrorWithStatus:@"上传头像失败"]; } else { [SVProgressHUD showSuccessWithStatus:@"上传头像成功"]; !self.selectPhotpCompleteBlock ? : self.selectPhotpCompleteBlock(newImageData); } } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { TbLog(@"%@",[error localizedDescription]); [SVProgressHUD showErrorWithStatus:[error localizedDescription]]; }];· 其中·[formData appendPartWithFileData:newImageData name:@"image" fileName:@"test.png" mimeType:@"image/png"]; 这一句很是重要,拼接上传图片的post请求的请求头信息,fileName,文件名称,随便写,mineType:标示上传的图片类型,规定的 其中name很重要,很重要,是后台上传的key,这个是后台规定的,要跟后台协商,不一样的后台,可能写图片上传的key,就不同,这个要问后台了,我就是没有跟后台协商,一直搞不定上传图片,最后搞了很久才发现了,这个问题,浪费了很多时间`