首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java.io.IOException:带有嵌入式Jetty服务器的不完整部件

java.io.IOException:带有嵌入式Jetty服务器的不完整部件
EN

Stack Overflow用户
提问于 2017-11-28 18:38:34
回答 1查看 960关注 0票数 0

我正在编写一个小文件服务器,它通过HTTP-POST请求从另一个软件获取文档。

请求总是“多部分/表单数据”类型,所以我想通过.getParts()来拆分它;

不幸的是,我总是得到一个"java.io.IOException:不完整的部件“或者它找不到部件。

是我的代码有问题还是请求有问题?

我在Eclipse中使用嵌入式Jetty服务器

代码语言:javascript
运行
复制
    public void create_document() {
    String lv_path = gr_request.getParameter("contRep") + File.separator + gr_request.getParameter("docId");
    Part lr_part = null;
    try {
        System.out.println(gr_request.getContentType());
        //for testing
        Part lr_test = gr_request.getPart("data");
        System.out.println("1");
        System.out.println(lr_test);

        //the actual part
        Collection<Part> lr_parts = gr_request.getParts();
        for (Iterator<Part> i = lr_parts.iterator(); i.hasNext();) {
            lr_part = ((Iterator<Part>) lr_parts).next();

            //again for testing
            System.out.println("content Type" + lr_part.getContentType());
            System.out.println("name" + lr_part.getName());
            System.out.println("content Type" + lr_part.getContentType());
            String test = lv_path + ".jpg";
            lr_part.write(test);

日志是

代码语言:javascript
运行
复制
2017-11-28 11:07:47.941:INFO:oejs.Server:main: jetty-9.0.4.v20130625
2017-11-28 11:07:48.222:INFO:oejs.ServerConnector:main: StartedServerConnector@7165cbeb{HTTP/1.1}{0.0.0.0:1090}
Erkannte Aktion: CREATE_DOCUMENT
2017-11-2811:07:54.469:WARN:oejs.Request:qtp424058530-15:java.io.IOException:Incomplete parts
multipart/form-data; boundary=KoZIhvcNAQcB
1
null

MultiPartConfig由以下人员完成

代码语言:javascript
运行
复制
MultipartConfigElement multipartConfigElement = newMultipartConfigElement((String)null);
ir_request.setAttribute(Request.__MULTIPART_CONFIG_ELEMENT, multipartConfigElement);

传输的PDF文件正文的开头:

代码语言:javascript
运行
复制
--KoZIhvcNAQcB
Content-Disposition: form-data; filename="data"
X-compId: data
Content-Type: application/pdf
Content-Length: 182370

%PDF-1.7
%µµµµ
1 0 obj
...and so on...
182188
%%EOF
--KoZIhvcNAQcB--
EN

回答 1

Stack Overflow用户

发布于 2017-12-05 20:29:05

看起来请求有问题。在接收请求时,我将"filename“标记更改为"name”。现在它正在运行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47529444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档