教育改变生活

标题: 【JAVA WEB应用开发】14-1文件上传 [打印本页]

作者: 却尘    时间: 2023-5-17 09:30
标题: 【JAVA WEB应用开发】14-1文件上传
文件上传,后台代码
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.IOException;
import java.io.PrintWriter;
import java.util.Collection;
@WebServlet(name="upload",urlPatterns={"/upload"})
//处理文件上传的Servlet需要使用@MultipartConfig注解来修饰
@MultipartConfig
public class UploadServlet extends HttpServlet {
    public void service (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        response.setContentType("text/html; charset=GBK");
        //设置响应的报头信息
        PrintWriter out = response.getWriter();
        //获取响应的对象输出流
        request.setCharacterEncoding("GBK");
        //对客户端请求进行重新编码
        Part part = request.getPart("file");
        //获取指定的文件上传域。若为getParts()则可以获取所有的文件上传域
        out.println("上传文件的类型为:"+part.getContentType()+"<br/>");
        //获取part上传文件的文件类型
        Collection<String> headerNames = part.getHeaderNames();
        //part.getHeaderNames()获取文件上传域的Header Name
          for(String headerName : headerNames){
           out.println(headerName+"--->"+part.getHeader(headerName)+"<br/>");
       }
        String fileNameInfo = part.getHeader("content-disposition");
        String fileName=fileNameInfo.substring(fileNameInfo.indexOf("filename=\"")+13,fileNameInfo.length() - 1);
        System.out.print(getServletContext().getRealPath("/uploadFiles")+"/"+fileName);
        part.write(getServletContext().getRealPath("/uploadFiles")+"/"+fileName);
    }
}
前端代码:
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<!DOCTYPE html>
<html>
<head>
  <title>文件上传</title>
</head>
<body>
<form method="post" action="upload" enctype="multipart/form-data">
  选择文件:<input type="file" id="file" name="file" /><br/>
  <input type="submit" value="上传" /><br/>
</form>
</body>
</html>






欢迎光临 教育改变生活 (http://bbs.goldoar.com/) Powered by Discuz! X3.2