2013-08-25 4 views
2

У меня есть микроконтроллер, который я хотел бы загрузить файл из сервлета java под управлением tomcat. Часть сервлета отлично работает при загрузке из браузера, но я борюсь с загрузкой файла с моего микроконтроллера.Как загрузить файл с микроконтроллера в сервлет tomcat

Два вопроса:

1 - от кота, как я могу смотреть на сырье после заявления. Ive попробовал несколько исполнений входных фильтров, включая Requestdumperfilter, но все они хотят мне помочь и форматировать данные - мне нужны необработанные данные.

2 - Я тестирую с загружаемым сообщением, которое было в демонстрации сервлетов. Я продолжаю получать org.apache.tomcat.util.http.fileupload.FileUploadException: запрос был отклонен, потому что не найдено многострочной границы, но четко определены границы.

POST /Download/upload HTTP/1.1 
Host: localhost:8080 
Content-Type: multipart/form-data; 
boundary=---------------------------263081694432439 
Content-Length: 441 
-----------------------------263081694432439 
Content-Disposition: form-data; name="file"; filename="sample.txt" 
Content-Type: text/plain 

Data from sample file 
-----------------------------263081694432439 
Content-Disposition: form-data; name="destination" 

/tmp 
-----------------------------263081694432439 
Content-Disposition: form-data; name="upload" 

Upload 
-----------------------------263081694432439-- 
+0

Должна быть пустая строка между заголовками и корпусом. – Musa

+0

по заголовку и телу. Предполагаю, вы имеете в виду первую строку. У меня есть это, но думаю, что я не копировал, когда писал этот пост. – user2470843

ответ

0

Ваша граница должна быть в заголовке содержимого.
Также должна быть пустая строка между заголовками http и телом запроса.
Ваши заголовки заканчиваются на Content-Length: 441, но первая новая строка после Content-Type: text/plain, и синтаксический анализатор ожидает границу в начале тела, но находит Data from sample file.

POST /Download/upload HTTP/1.1 
Host: localhost:8080 
Content-Type: multipart/form-data; boundary=---------------------------263081694432439 
Content-Length: 422 

-----------------------------263081694432439 
Content-Disposition: form-data; name="file"; filename="sample.txt" 
Content-Type: text/plain 

Data from sample file 
-----------------------------263081694432439 
Content-Disposition: form-data; name="destination" 

/tmp 
-----------------------------263081694432439 
Content-Disposition: form-data; name="upload" 

Upload 
-----------------------------263081694432439-- 
+0

Ну, это работает. Не уверен во всех спецификациях. Пример - строка 3, граница должна быть на этой строке, а не на новой строке. – user2470843

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