2

我正在尝试上传大于 1gb 的非常大的文件。我正在使用MultipartConfigHttpServletRequest.getPart(String)来自 servlet api。我部署在我的服务器中并尝试上传一个文件,它的工作就像一个魅力。

然后我继续阅读有关 MultipartConfig here的信息。我了解到,当上传大文件时,它会在达到阈值时将部分文件写入临时位置。稍后我们必须使用part.delete().

如果我不想提及临时位置怎么办?上传大文件时我的应用程序会发生什么不好的事情吗?我不想提及临时位置,因为我们无法保证生产环境。

4

2 回答 2

2

如果不指定任何临时位置,我认为不会有任何问题。Servlet 规范 3.0 规定每个 servlet 上下文都应该有一个临时工作目录。因此,默认情况下,所有部分都保存到特定于供应商的临时工作目录中。

于 2014-09-10T11:06:23.667 回答
1

每个 Application Server 对默认位置的处理方式不同。

在 Tomcat 中,超过阈值的临时文件保存在 CATALINA_HOME 目录的子文件夹中(已在 Tomcat 9.0.21 中尝试过)。

我在这里找到要创建的临时文件:CATALINA_HOME/work/Tomcat/localhost/MYWEBAPP/upload_3440d3f3_8d15_43ad_bb1d_349599450616_00000005.tmp

于 2019-07-11T07:31:52.570 回答