我有一个微控制器,我想将文件上传到在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--
答案 0 :(得分: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--