我有一个关于文件上传的问题,这与它的工作原理更相关,而不是代码问题。我在互联网上查看,但找不到正确的答案。
我有一个在 tomcat 上运行的 Web 应用程序,它处理文件上传(通过 servlet)。假设我现在想要上传大文件(> 1 GB)。我的理解是,一旦整个文件实际传输完毕,HTTP 请求的多部分内容就可以在我的 servlet 中使用。
我的问题是请求的内容实际存储在哪里?当有人打电话时HttpServletRequest.getParts()
an InputStream
可以在Part
目的。但是,流从哪里读取? Tomcat 是否将其存储在某个地方?
我想这可能还不够清楚,所以我会根据您的评论(如果有的话)更新帖子。
Thanks
雄猫商店Part
位于“X:\some\path\Tomcat 7.0\temp”(/some/path/apache-tomcat-7.0.x/temp)目录中。
解析多部分请求时,如果单个部分的大小超过阈值,则会为该部分创建临时文件。
当所有部分的传输完成后,您的 servlet/jsp 将被调用。
当请求被销毁时,所有临时文件也会被删除。
如果您对多部分解析阶段感兴趣,请查看 apache commons-fileupload (特别是ServletFileUpload.parseRequest()
),tomcat是基于它的一个变体
UPDATE
您可以将其配置为 java arg,即在 Windows 中:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)