XMNetworking icon indicating copy to clipboard operation
XMNetworking copied to clipboard

以multipart/form-data方式上传图片该怎么写

Open championfu opened this issue 8 years ago • 5 comments

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中写的,有什么问题

championfu avatar Mar 02 '17 09:03 championfu

同问,你的问题解决了吗

zhudameng avatar Apr 12 '17 02:04 zhudameng

+1 请问你解决了吗

zenghaojim33 avatar Apr 14 '17 11:04 zenghaojim33

我解决了

zhudameng avatar Apr 17 '17 09:04 zhudameng

设置request.requestSerializerType = kXMRequestSerializerJSON;

championfu avatar Apr 17 '17 16:04 championfu

` [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"};没有起作用啊

kokmmm33 avatar Jun 19 '17 06:06 kokmmm33