最近在写一个关于文件上传的程序,但是发现使用以往的表单提交写法,服务器获取到的文件竟然为空。
所以就了解了enctype这个属性,这个属性规定了数据发送到服务器之前如何对其进行编码
主要有以下值:
application/x-www-form-urlencorded(默认) 在发送前对所有的字符进行编码
multipart/form-data 可以用于对文件的上传,不对字符进行编码。当有使用文件上传控件的表单时,该值时必须的
text/plain 将空格转化为+号,不对特殊字符进行编码
文件上传步骤:
1、编写上传的表单,提交表单时要配置enctype=“multipart/from-data”,否则
2、配置文件上传解析器 CommonsMultipartResolver,该解析器会将前端的同名参数与服务器上的MultipartFile类型的同名参数进行映射,如果不配置该解析器,那么服务器不会接受到数据
3、编写服务器,接受参数时使用MultipartFile接受,如果不用MultipartFile接受文件,可能不会接受到文件NullPointException
部署服务器运行就ok了
文件上传问题:
文件大小问题
文件类型问题
文件重命名问题
文件名称中文乱码问题
文件目录打散问题