上传文件
文件上传
1.表单提交类型为post,表单类型为enctype=“multipart/form-data
2.设置提交地址 action
3.设置表单name
/**
* 使用注解将Servlet标识为文件上传
* Servlet对表单post请求封装为part对象
*/
@WebServlet("/Ser1")
@MultipartConfig
public class Ser1 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
//获取part对象
Part part=req.getPart("upFile");
/* tomcat 8 */
//获取上传的文件名(tomcat7没有此方法)
String fileName=part.getSubmittedFileName();
/* tomcat 7 */
//获取HTTP头信息headerInfo=(form-data; name="file" filename="文件名")
String headerInfo = part.getHeader("content-disposition");
//从HTTP头信息中获取文件名fileName=(文件名)
String fileName = headerInfo.substring(headerInfo.lastIndexOf("=") + 2, headerInfo.length() - 1);
//文件路径
String filePath=req.getServletContext().getRealPath("/");
System.out.println(filePath);
//下载文件 存放在工程目录下out文件夹里
part.write(filePath+"/"+fileName);
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="Ser1">
文件:<input id="fileInput" type="file" name="pic"><br>
<button id="btn" type="button">确定</button>
</form>
</body>
<script type="text/javascript">
//判断文件是否为空
$("#btn").click(function (){
var file= $("#fileInput").get(0).files[0];
if(!file){
$("#msgf").html("图片不能为空");
return ;
}
$("#thisForm").submit();
})
</script>
</html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律