前端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>上传</title>
</head>
<body>
<form action="uploadfile" method="post" enctype = "multipart/form-data">
<input type="file" name="filename" id="" value=""/>
<input type="submit" value="上传"/>
</form>
</body>
</html>
servletz这样写
package com.icis.servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import java.io.FileWriter;
import java.io.IOException;
//一定要添加@MultipartConfig注解!!!!!
@MultipartConfig
@WebServlet("/uploadfile")
public class Uploadservlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
//定位前端传来的的文件
Part file = request.getPart("filename");
//获取文件名
String filename = file.getSubmittedFileName();
System.out.println(filename);
//获取写入tomcat服务器资源下的路径
ServletContext servletContext = this.getServletContext();
//realPath是服务器路径
String realPath = servletContext.getRealPath("/anyresources");
file.write(realPath + "/" + filename);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
{message type="warning" content="Servlet一定要添加@MultipartConfig注解!!!!!"/}
{callout color="#ef4d58"} 前端Form表单属性一定要添加 method="post" enctype = "multipart/form-data" 特别是enctype = "multipart/form-data"一个符号都不能错" {/callout}