在球衣上传文件时出错

时间:2012-05-14 15:37:35

标签: java java-ee jersey

我正在创建一个使用jersey上传文件的API。

 @Path("/api")
 public class GreetingService {

     @POST
             @Path("/upload")
      @Consumes("multipart/form-data")
     //@Produces("text/plain")
     public String uploadFile(@FormParam("file") File file, @FormParam("file")    FormDataContentDisposition fcdsFile) {
      String fileLocation = "/files/" + fcdsFile.getFileName();
      //File destFile = new File(fileLocation);  

      return "1";

} }

当我这样做的时候     curl -v -X POST - 表格file=@rt.txt网址 我得到了

       SEVERE: Servlet.service() for servlet ServletAdaptor threw exception
     java.lang.NullPointerException for this line    String fileLocation = "/files/" + fcdsFile.getFileName();

我哪里错了?

2 个答案:

答案 0 :(得分:2)

这就是你打电话的方式

@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA) // same as "multipart/form-data"
//@Produces("text/plain")
public String uploadFile(
    @FormDataParam("file") InputStream file,
    @FormDataParam("file") FormDataContentDisposition fileDetail
){
    doSomething();
}

答案 1 :(得分:0)

我认为您应该将第二个注释从表单参数更改为

@FormDataParam("file") FormDataContentDisposition fcdsFile