我的后端编码器为我提供了文件上传的curl示例:
curl -v -F dictation_file=@file.name -F category=1 http://my.server.com/files/create/
我使用的是AFNetworking,但以下代码不起作用:
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
[parameters setObject:title forKey:@"title"];
[parameters setObject:category forKey:@"category"];
NSMutableURLRequest *request = [self multipartFormRequestWithMethod:@"POST"
path:@"files/create/"
parameters:parameters
constructingBodyWithBlock:^(id <AFMultipartFormData> formData) {
NSData *data= [NSData dataWithContentsOfFile:record.filePath];
[formData appendPartWithFileData:data mimeType:@"application/octet-stream" name:@"dictation_file"];
}];
AFHTTPRequestOperation *operation = [AFHTTPRequestOperation operationWithRequest:request
completion:^(NSURLRequest *request, NSHTTPURLResponse *response, NSData *data, NSError *error)
{ // handlecodehere
}];然而,在响应json时,我接收到dictation_file字段为空信息。也许我不理解curl?@file.name只是简单地替换字段中的编码数据,对吗?
发布于 2011-10-12 14:53:41
我不得不修改appendPartWithFileData:mimeType:name: method。
在这条线上
[mutableHeaders setValue:[NSString stringWithFormat:@"file; name=\"%@\"; filename=\"%@\"", name, fileName] forKey:@"Content-Disposition"]; 我写的不是文件,而是form-data。
https://stackoverflow.com/questions/7736085
复制相似问题