2012-01-31 74 views
1

我想上传文件,像这样:AFNetworking上传文件到服务器,参数

NSMutableDictionary * lParameters = [NSMutableDictionary dictionary]; 
    [lParameters setObject:@"temp.jpg" forKey:@"file"]; 

    NSMutableURLRequest *request = [self multipartFormRequestWithMethod:@"POST" path:@"uploads/add.json" parameters:lParameters constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) 
    { 
    NSData * data = [NSData dataWithContentsOfFile:filePath]; 
    [formData appendPartWithFileData:data name:@"temp.jpg" fileName:@"temp.jpg" mimeType:@"image/jpeg"]; 
    }]; 

    AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request 
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON){ 
    .... 

我上传的JSON看起来像这样:

http://base/url/uploads/add.json

而且只有一个参数“文件”。 服务器返回错误:“未指定的必需参数:文件”。 我应该如何设置参数。为什么不工作:

NSMutableDictionary * lParameters = [NSMutableDictionary dictionary]; 
    [lParameters setObject:@"temp.jpg" forKey:@"file"]; 

请帮忙。

+0

尝试用'name:@“file”替换'name:@“temp.jpg”''并删除lParameters字典。 – Felix 2012-01-31 09:51:51

回答

2

您可能不应该在参数字典中设置temp.jpg。相反,请尝试将name设置为appendPartWithFileData:...file

如果这样不能解决问题,请提供服务器对应于该错误的回溯。

+0

感谢它的工作 – 2012-01-31 17:00:50