0

我想知道当您使用 StandardServletMultipartResolver 发送多部分请求时自动创建临时文件的代码在哪里?

我可以禁用该行为吗?我想决定它的存储方式和存储位置。我不想让春天为我做这件事。

我正在考虑创建自己的解析器,但找不到有关如何禁用弹簧默认行为的信息。

4

1 回答 1

1

引用 API文档 StandardServletMultipartResolver不支持解析器级别的临时文件配置,而是在 servlet 注册级别完成 -

为了使用基于 Servlet 3.0 的多部分解析,您需要在 中使用“multipart-config”部分web.xmlMultipartConfigElement在编程 servlet 注册中标记受影响的 servlet,或者(在自定义 servlet 类的情况下)可能带有MultipartConfig注释你的 servlet 类。 需要在该servlet 注册级别应用最大大小或存储位置

等配置设置;Servlet 3.0不允许在级别设置它们。MultipartResolver

因此,您可以在 servlet 上对其进行配置,也可以切换到CommonsMultipartResolver支持设置开箱即用的临时目录,因为它继承自CommonsFileUploadSupport.setUploadTempDir(请参阅此处此处的相应文档

于 2015-08-12T06:06:05.083 回答