私のバックエンド コーダーは、ファイル アップロードの 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 は、単にフィールド内のエンコードされたデータを置換するだけですよね?