enctype="multipart/form-data"时文本框参数获取问题的解决
- 分享一个令人头皮发麻的问题:在写web项目的时候需要用表单上传文件同时要在servlet中获取文本框的参数,于是servlet中用("")用来获取相对应的参数,在控制台输出,结果为null,检查后代码没问题,去百度开始了解决问题之旅。。。
- enctype="multipart/form-data" 是什么:
- 解决方法:在servlet前加入注解:@MultipartConfig!!!(servlet3.0及以上版本适用)
- 代码如下:
分享一个令人头皮发麻的问题:在写web项目的时候需要用表单上传文件同时要在servlet中获取文本框的参数,于是servlet中用("")用来获取相对应的参数,在控制台输出,结果为null,检查后代码没问题,去百度开始了解决问题之旅。。。
enctype=“multipart/form-data” 是什么:
1、当我们上传的含有非文本内容,即含有文件(txt、MP3等)的时候,需要将form的enctype设置为multipart/form-data。
2、将表单中的数据变成二进制数据进行上传,所以这时候这时如果用request是无法直接获取到相应表单的值的
解决方法:在servlet前加入注解:@MultipartConfig!!!(servlet3.0及以上版本适用)
@MultipartConfig
public class servlet extends HttpServlet {}
2019.2.27 22:18
补充一下文件上传。。
代码如下:
必须是servlet3.0及以后的版本
//获取普通的上传组件
String ?= (?);
String ?= (?);
//获取文件上传组件
Part part = ("file");
//获取文件的名称
String header = ("content-disposition");
//截取字符串获取文件名称
String headername = (("filename")+10, ()-1);
//获取文件流
InputStream put = ();
//获取文件的真实路径
String url = ().getRealPath("/uplod");
UUID uuid = ();
String filename = uuid+"@"+headername;
//建立对拷流
FileOutputStream fos = new FileOutputStream(new File(url+"/sc", filename));
(put, fos);
();
();
//删除临时文件
();
2019.2.28 16:27