我正在创建一个使用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();
我哪里错了?
答案 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