Загрузить файл с AFNetworking - PullRequest
0 голосов
/ 12 октября 2011

Мой бэкэнд-кодер предоставил мне пример загрузки файла 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 пусто.Может быть, я не понимаю, локон?@ file.name просто подставляет закодированные данные в поле, верно?

1 Ответ

0 голосов
/ 12 октября 2011

Мне пришлось изменить appendPartWithFileData: mimeType: name: method.

В этой строке

[mutableHeaders setValue:[NSString stringWithFormat:@"file; name=\"%@\"; filename=\"%@\"", name, fileName] forKey:@"Content-Disposition"]; 

вместо файл я написал данные формы.

...