2

我有一个微控制器,我想将文件上传到在 tomcat 下运行的 java servlet。从浏览器上传时,servlet 部分工作正常,但我正在努力从我的微控制器上传文件。

两个问题:

1 - 从 tomcat 我如何查看原始的 post 语句。我已经尝试了几种输入过滤器的版本,包括 Requestdumperfilter - 但他们都想帮助我并格式化数据 - 我需要原始数据。

2 - 我正在测试 servlet 演示中的上传帖子。我不断收到 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--
4

1 回答 1

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--
于 2013-08-25T14:02:09.037 回答