关于springmvc接收文件
遇到这个问题的时候我是直接在controller的入参里面,写了multifile的一个对象,因为我以为文件对象和和非文件对象一样,直接标志就完事了,显然易见是不行的。
尝试了一下网上的答案也是不行。
我尝试去翻一下spring官网的文档说明,第一眼没有看到。然后去翻《spring实战》这一本书,在7.2章节就有处理multipart形式的数据,但是开始我就有点不懂,但我很快发现,spring实战这一本书是提倡java配置分发器,web.xml是会在最后的时候提及。而我的项目则是比较旧的用web.xml配置的分发器,但还是能在spring实战里面找到答案。
在servlet分发器中配置
<multipart-config>
<location></location>
<max-file-size></max-file-size>
<max-request-size></max-request-size>
<multipart-config/>
但我有一点不甘心,就是spring官网绝对是有对于这类数据处理的说明,而spring实战 只是站在了开发的视角去描述这个的使用,然后我再去翻官网
special bean type特殊的注入,
这个翻译大概是什么意思(机器翻译):对于多部份请求,(打个比方,浏览器中文件的上传)可以通过多部份依赖进行解析,请看 Multipart Resolver
我认为这个multipart是指二进制的文件,被拆分开,然后发送,就变成了多部份了。然后去看一下 Multipart Resolver
通过机器翻译
可以看到,这里明确的告诉你,处理这样的mulitipart数据,需要使用对应的解析器,而这个解析器可以在java中设置或者web.xml中声明,而下面的例子则是java,可能是我对官网的不了解,所以没找到xml,但是主流的spring文档中,是主张使用java 的配置,spring实战也是,不过spring实战站在了开发者的视角,所以考虑了在servlet2.0的时代,而在不停前进的spring中,servlet2.0处于一个不受待见的地位。