Javaweb使用getPart来接收表单文件
2021-04-14 03:29
YPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
标签:indexof conf tle pre tomcat服务 html ons cte war
使用getPart接收表单文件时,注意Tomcat版本要在8之上。
前台 : form.jsp
Title
后台:TestServlet
@WebServlet(name = "TestServlet", urlPatterns = "/test")
@MultipartConfig
public class UserServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取文件,参数为前台的name
Part part = request.getPart("file");
//获取文件名,获取到文件名的格式如:a.jpg
String fileName = part.getSubmittedFileName();
/**
截取文件名的后缀名:
photo.lastIndexOf(‘.‘)的返回值为"."的位置,加1表示后缀名的起始位置。
photo.substring(photo.lastIndexOf(‘.‘)+1),表示从后缀名的起始位置截取到结束位置。
* */
String fileType = fileName.substring(fileName.lastIndexOf(‘.‘) + 1);
//判断该文件是不是图片格式
if (!("jpg".equalsIgnoreCase(fileType) || "jpeg".equalsIgnoreCase(fileType) || "png".equalsIgnoreCase(fileType))) {
//不是图片格式,停止下一步,并将信息反馈给前台页面
request.setAttribute("msg","上传的文件必须为图片");
request.getRequestDispatcher(request.getContextPath() + "/form.jsp").forward(request, response);
return;
}
//是图片类型,构建一个上传图片的存储路径
String path = "E:\\upload";
File file = new File(path);
if (!file.exists()) {
file.mkdirs(); //创建文件和文件夹
}
//将part内容写到文件夹内,生成一个文件
part.write(path + "/" + fileName);
}
}
String path = "E:\\testPic";
设置成本地文件夹路径与Tomcat服务器脱离关联,可以防止文件丢失。但需要将该文件夹挂载到Tomcat服务器。
挂载方式:
Eclipse:
1、双击集成在Eclipse中的tomcat服务器
2、点击添加额外的web资源
3、将本地存储上传文件的文件夹添加进来即可!
一定要ctrl + S
IDEA:
Javaweb使用getPart来接收表单文件
标签:indexof conf tle pre tomcat服务 html ons cte war
原文地址:https://www.cnblogs.com/nieaojie625/p/13339258.html
上一篇:SpringMVC异常映射
下一篇:Java的守护线程
文章标题:Javaweb使用getPart来接收表单文件
文章链接:http://soscw.com/index.php/essay/75491.html