Обновление : это было исправлено в репозитории phonegap github 16 мая 2011 года.
У меня есть следующий код Objective-C:
NSData *photoData = [NSData dataWithContentsOfFile:photoPath];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"photo-file\"; filename=\"%@\"\r\n", " my-photo.jpg"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:photoData];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
[request addValue:[NSString stringWithFormat:@"%d", body.length] forHTTPHeaderField: @"Content-Length"];
[[NSURLConnection alloc] initWithRequest:request delegate:appDelegate];
[photoData release];
[body release];
[request release];
Я пытаюсь опубликовать изображение с iPhone на сервере node.js, который использует node-formidable.Сервер уже работает нормально с изображениями, отправленными из браузера, но когда я пытаюсь опубликовать с моего iPhone, я получаю следующую ошибку:
Ошибка: MultipartParser.end (): поток неожиданно завершился в MultipartParser.end (/formidable/1.0.0/package/lib/formidable/multipart_parser.js:301:12) в IncomingMessage.anonymous (formidable / 1.0.0 / package / lib / formidable /coming_form.js: 80: 30) вIncomingMessage.emit (events.js: 61: 17) в HTTPParser.onMessageComplete (http.js: 132: 23) в Socket.ondata (http.js: 1001: 22) в Socket._onReadable (net.js: 677: 27) в IOWatcher.onReadable как обратный вызов (net.js: 177: 10)
Изображение правильно сохранено во временной папке сервера , но это формула узлатот, который выдает ошибку при попытке разобрать форму.