Http 415 on file Upload using jersey

后端 未结 5 480
花落未央
花落未央 2020-12-10 07:36

My code for RESTful file upload :

@Path(\"/upload\") 
@POST 
@Consumes(\"multipart/form-data\") 
public String post(
    @FormDataParam(\"part\") String s, 
         


        
5条回答
  •  鱼传尺愫
    2020-12-10 08:08

    After trying a lot of examples finaly find the realy working example on http://iambigd.blogspot.com/2011/06/java-upload-file-using-jersey.html

    @POST
    @Path("/simpleupload")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public void simpleUpload(
        //@Context UriInfo ui,
        @Context HttpServletRequest request
    ){
        String fileRepository = "D:\\";
        if (ServletFileUpload.isMultipartContent(request)) {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List items = null;
        try {
            items = upload.parseRequest(request);
        } catch (FileUploadException e) {
            e.printStackTrace();
        }
        if (items != null) {
            Iterator iter = items.iterator();
            while (iter.hasNext()) {
                FileItem item = iter.next();
                if (!item.isFormField() && item.getSize() > 0) {
                System.out.println("File is found.");
                String fileName = processFileName(item.getName());
                try {
                    String savePath = fileRepository + fileName;
                    System.out.println("savePath:" + savePath);
                    item.write(new File(savePath));
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }else{
                System.out.println("getFieldName:" + item.getFieldName());
                System.out.println(item.getString());
            }
         }
       }
    }
    }
    

    (need the servlet-api.jar, (apache) commons-oi.jar and (apache) commons-fileupload.jar)

提交回复
热议问题