使用表单将数据以POST方式提交到Servlet,Servlet进行数据处理
关键代码如下
注意看加粗的那一句
// 存储路径
String savePath = request.getServletContext().getRealPath("/WEB-INF/uploadFile");
// 获取上传的文件集合
Collection<Part> parts = request.getParts();
// 上传单个文件
// Servlet3.0将multipart/form-data的POST请求封装成Part,通过Part对上传的文件进行操作。
// Part part = parts[0];//从上传的文件集合中获取Part对象
Part file = request.getPart("file");// 通过表单file控件
// Servlet3没有提供直接获取文件名的方法,需要从请求头中解析出来
// 获取请求头
String header = file.getHeader("content-disposition");
// 获取文件名
## String fileName = getFileName(header);
// 把文件写到指定路径
file.write(savePath + File.separator + fileName);
String fileAddr = savePath + "/" + fileName;
然后问题来了,我写到加粗的那一句时候,是标红的,就是说我没有这个方法,然后我还找了其他的,有一种使用如下方法也可以获取文件名的
Part file = request.getPart("file");// 通过表单file控件
String submittedFileName = part.getSubmittedFileName();
String fileName = header.substring(header.lastIndexOf("\\")+1,heder.lastIndexOf("\""));
问题又来了,还是加粗的那一句,这一个方法找不到。
我没辙了,求问如何解决