Servlets 如何使用HttpServletRequest#getPart(名称)延迟流式传输
我使用的是Jetty 9的实现,它似乎在继续之前急切地处理整个请求(或者至少是有问题的Servlets 如何使用HttpServletRequest#getPart(名称)延迟流式传输,servlets,Servlets,我使用的是Jetty 9的实现,它似乎在继续之前急切地处理整个请求(或者至少是有问题的部分),即使生成的部分公开了一个getInputStream()方法 有没有办法让getPart立即返回,并将请求流保留到生成的Part的InputStream 以下是我的Servlet实现中的相关代码片段供参考: override def doPost(req: HttpServletRequest, res: HttpServletResponse) { println("ABOUT TO GET PA
部分),即使生成的部分
公开了一个getInputStream()
方法
有没有办法让getPart
立即返回,并将请求流保留到生成的Part
的InputStream
以下是我的Servlet
实现中的相关代码片段供参考:
override def doPost(req: HttpServletRequest, res: HttpServletResponse) {
println("ABOUT TO GET PART") // this happens immediately
val file = req.getPart("file")
println("GOT PART") // it takes a long time to get here if the upload is large
这很无聊,但可以通过以下方式完成:
这需要使用HttpServletRequest#getInputStream()
中的InputStream
,以及HTTP请求内容类型中编码的边界分隔符:
Content-Type: multipart/form-data; boundary=------------------------bd019839518ca918
Content-Type: multipart/form-data; boundary=------------------------bd019839518ca918