在Java Servlet中读取MultiPart内容

时间:2019-01-02 15:45:59

标签: java servlets multipartform-data

ServletRequest具有API getParts()来读取多部分请求的部分 https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getParts()

它具有part.getInputStream,可用于读取特定部分的内容。

要使其正常工作,必须用https://docs.oracle.com/javaee/6/api/javax/servlet/annotation/MultipartConfig.html注释servlet

MultiPartConfig有一个用于定位的元素,我认为如果需要,可以将这些部分写入磁盘。这意味着零件内容首先会在内部加载到内存中,然后在达到阈值后将零件内容写入磁盘

为什么getPart API需要将内容加载到内存中?为什么不能直接进行内容流传输?将内容加载到内存中并读取/写入磁盘会带来额外的成本。在上传大文件时,这特别昂贵。

是否无法避免至少要加载文件内容?

最好的问候,

Saurav

0 个答案:

没有答案