在java中使用Rest Api上传XML / CSV文件

时间:2015-12-02 16:21:34

标签: java xml rest csv jersey

我只是使用Java中的REST API向附近的StackOverflow上传XML或CSV文件的社区寻求帮助。

网址:

Remote Address:127.0.0.1:8080
Request URL:http://localhost:8080/HSMV5/api/import
Request Method:POST

请求播放:

------WebKitFormBoundaryTnLhEykB6lreFMtz
Content-Disposition: form-data; name="aaaa.xml"; filename="aaaa.xml"
Content-Type: text/xml


------WebKitFormBoundaryTnLhEykB6lreFMtz--

这是我的源代码:

@Path("/")
@Produces(MediaType.APPLICATION_JSON)
@Consumes({ MediaType.APPLICATION_JSON, MediaType.MULTIPART_FORM_DATA })
public class Dispatcher {
    @POST
    @Path("/import")
    public Response importpostFile(
            @FormDataParam("file") InputStream uploadedInputStream,
            @FormDataParam("file") FormDataContentDisposition fileDetail)
            throws HsmRestServiceException {
        System.out.println(fileDetail.getFileName());
        return importFile.doPost(null);
    }

}
编译变量的

返回null:

uploadedInputStream : null
fileDetail : null

2 个答案:

答案 0 :(得分:0)

  1. 名称(name="aaaa.xml")需要与@FormDataParam中的值相同。这就是为什么它是空的,因为它是错的名字。 没有名称为file

  2. 的部分
  3. 我没有看到任何数据。数据应出现在这些行之间。

    Content-Type: text/xml
    
    
    ------WebKitFormBoundaryTnLhEykB6lreFMtz-- 
    

    这也是你需要弄清楚的事情。

答案 1 :(得分:0)

这是要使用的表单:

     <tr class="pairRowTab">
            <td>
                <bean:message key="table.dateFormat"/>
            </td>
            <td>
                <html:file property="dateFormatFile" size="70"/>
            </td>
        </tr>
        <tr class="impairRowTab">
            <td>
                <bean:message key="table.separateur"/>
            </td>
            <td>
                <html:file property="separateurFile" size="70"/> 
            </td>
        </tr>