我正在尝试上传超过1GB的超大文件。我在servlet api中使用MultipartConfig
和HttpServletRequest.getPart(String)
。我部署在我的服务器上并尝试上传文件,其工作就像一个魅力。
然后我继续阅读有关MultipartConfig here的内容。据我所知,当上传大文件时,它会在达到阈值时将部分文件写入临时位置。稍后我们必须使用part.delete()
删除临时文件。
如果我不想提及临时位置怎么办?上传大文件时我的应用程序会发生什么不好的事吗?我不想提及临时位置,因为我们不能保证生产环境。
答案 0 :(得分:1)
如果没有指定任何临时位置,我认为不会有任何问题。 Servlet规范3.0表示每个servlet上下文都应该有一个临时工作目录。因此,默认情况下,所有部件都保存到特定于供应商的临时工作目录中。
答案 1 :(得分:0)
每个应用服务器对默认位置的处理方式都不同。
在Tomcat中,超过阈值的临时文件保存在CATALINA_HOME目录的子文件夹中(与Tomcat 9.0.21一起尝试)。
我找到了要在此处创建的临时文件:CATALINA_HOME / work / Tomcat / localhost / MYWEBAPP / upload_3440d3f3_8d15_43ad_bb1d_349599450616_00000005.tmp