实现文件上传的form表单必须满足两个条件:method="post" enctype="multipart/form-data"
表单中enctype="multipart/form-data"
的意思是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded
,不能用于文件上传;只有使用了multipart/form-data
,才能完整的传递文件数据。enctype="multipart/form-data"
是上传二进制数据; form里面的input的值以二进制的方式传过去。所以request就得不到值了, 也就是说加了这段代码,用request就会传递不成功。
取表单字段值时,用下面的方式:
SmartUpload su = new SmartUpload(); //新建一个SmartUpload对象
su.getRequest().getParameterValues(String name); //取数组值
su.getRequest().getParameter(String name); //取单个参数单个值
注:在使用SmartUpload时需要添加相应的jar包