我有一个JAX-RS Web服务,它实现了一个多部分文件上传请求.Web服务需要压缩文件并存储它.这需要很多时间.此处理仅在从客户端上载整个文件后才开始.
我希望在文件在服务器上可用时开始处理文件的InputStream.
我的JAX-RS代码:
/**
* POST method for uploading a file
* @param content representation for the resource
* @return an HTTP response with content of the updated or created resource.
*/
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public String uploadPhoto (
@FormDataParam("file") final InputStream uploadedInputStream,
@FormDataParam("file") final FormDataContentDisposition fileDetail,
@FormDataParam("key") final String key,
@FormDataParam("userid") final int userId) throws Exception {
String imgURL = **FileProcessor.process**(uploadedInputStream);
return buildUploadResponse(url);
}
这是关于chrome的请求时间的截图
在上图中,您可以看到有两个时间段"RequestTime""Waiting Time""FileProcess.process"仅在等待时间内运行.为什么文件流一旦可用就无法执行?