如何将文件从微控制上传到tomcat servlet

时间:2013-08-25 01:07:53

标签: tomcat file-upload

我有一个微控制器,我想将文件上传到在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--

1 个答案:

答案 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--