2015-02-15 2 views
0

Я пытаюсь загрузить несколько файлов в одном запросе на сервер Hapi JS. Пока что я не увенчался успехом. Вот необработанный запрос (взятый из w3org, чтобы сделать процесс максимально простым).Загрузка нескольких файлов с помощью HapiJS

Content-Type: multipart/form-data; boundary=AaB03x 

--AaB03x 
Content-Disposition: form-data; name="submit-name" 

Larry 
--AaB03x 
Content-Disposition: form-data; name="files" 
Content-Type: multipart/mixed; boundary=BbC04y 

--BbC04y 
Content-Disposition: file; filename="file1.txt" 
Content-Type: text/plain 

... contents of file1.txt ... 
--BbC04y 
Content-Disposition: file; filename="file2.gif" 
Content-Type: image/gif 
Content-Transfer-Encoding: binary 

...contents of file2.gif... 
--BbC04y-- 
--AaB03x-- 

Это конфигурация обработчика на стороне Хапи:

path: '/1.1/playbacks/new', 
method: 'POST', 
config: { 
    payload: { 
     maxBytes: 209715200, 
     output: 'file', 
     parse: true 
    }, 
    auth: 'token' 
} 

Когда я отладки request.payload, я вижу только два поля, «файлы» и «Submit-имя» с полем файлов сохраняя все содержимое между границами --BbC04y, которое равно «--BbC04y \ r \ nContent-Disposition: file; filename =" file1.txt "\ r \ nContent-Type: text/plain \ r \ n ... --BbC04y-- "

Итак, какой способ загрузки нескольких файлов в Hapi J S?

ответ

0

Образец, взятый из w3org, неверен! Вот как должен быть запрос:

------WebKitFormBoundaryfXvbZd3ZABBHzmdC 
Content-Disposition: form-data; name="name" 

123456 
------WebKitFormBoundaryfXvbZd3ZABBHzmdC 
Content-Disposition: form-data; name="last" 

789000 
------WebKitFormBoundaryfXvbZd3ZABBHzmdC 
Content-Disposition: form-data; name="upload1"; filename="test1" 
Content-Type: application/octet-stream 

file 1 

------WebKitFormBoundaryfXvbZd3ZABBHzmdC 
Content-Disposition: form-data; name="upload2"; filename="test2" 
Content-Type: application/octet-stream 

file 2 

------WebKitFormBoundaryfXvbZd3ZABBHzmdC-- 

Обратите внимание, что нет необходимости в разных граничных значениях. Они все одинаковые.

Получил это с помощью замечательного инструмента http://requestb.in

Смежные вопросы