以multipart/form-data方式上传图片该怎么写
NSArray *names = @[@"headFile",@"idCardFrontFile",@"idCardBackFile",@"qualificationCertificateFile "]; NSArray *fileNames = @[@"head.jpg",@"idCardFront.jpg",@"idCardBack.jpg",@"award.jpg"]; NSArray *fileDatas = @[headerData,idCardFrontData,idCardBackData,awardData]; request.headers = @{@"Content-Type":@"multipart/form-data"}; request.url = [NSString uuidRequestPathWithPath:@"http://192.168.10.182:8080/escst_interface/person/addPerson"]; request.timeoutInterval = 8.f; request.requestType = kXMRequestUpload; request.parameters = param; // XMUploadFormData *headerForm = [XMUploadFormData formDataWithName:@"headFile" fileName:@"avatar" mimeType:@"image/jpg" fileData:headerData]; for (int i = 0; i < 4; i++) { [request addFormDataWithName:names[i] fileName:fileNames[i] mimeType:@"image/jgg" fileData:fileDatas[i]]; }
这个是在RequestBlock中写的,有什么问题
同问,你的问题解决了吗
+1 请问你解决了吗
我解决了
设置request.requestSerializerType = kXMRequestSerializerJSON;
` [XMCenter sendRequest:^(XMRequest *request) { request.server = @"http://dealerapi.apple.com.cn/"; request.api = @"api/uploadFile.json";
request.useGeneralHeaders = YES;
request.headers = @{@"Content-Type":@"multipart/form-data",@"Accept":@"application/json"};
request.requestType = kXMRequestUpload;
request.requestSerializerType = kXMRequestSerializerJSON;
[request addFormDataWithName:@"file" fileName:@"imgFile.png" mimeType:@"image/png" fileData:fileData1];
} onProgress:^(NSProgress *progress) {
if (progress) {
NSLog(@"onProgress: %f", progress.fractionCompleted);
}
} onSuccess:^(id responseObject) {
NSLog(@"onSuccess: %@", responseObject);
} onFailure:^(NSError *error) {
NSLog(@"onFailure: %@", error);
} onFinished:^(id responseObject, NSError *error) {
NSLog(@"onFinished");
}];`
您好,我这用写的,但是服务器那边报错,说不是可变的form-data Failed to parse multipart servlet request 是不是request.headers = @{@"Content-Type":@"multipart/form-data",@"Accept":@"application/json"};没有起作用啊