hello阿诚

有兴趣留言交流

15-jsp上传文件

前端代码
----------------------
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>上传文件</title>
</head>
<body>
<!--表单提交类型 post
 表单类型 enctype="multipart/form-data"
 表单元素类型 文件域设置name 属性值
 -->
<form action="uploadFile" method="post" enctype="multipart/form-data">
  姓名:<input type="text" name="uname"/>  <br/>
  文件:<input type="file" name="myfile" /> <br/>
<!--  button 默认的类型是 type="submit" -->
  <button>提交</button>

</form>
</body>
</html>
 
--------------------
后端代码
 
package yu.upload;

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;

@WebServlet("/uploadFile")
@MultipartConfig  // 支持文件上传的注解,必须要加注解
public class uploadFile extends HttpServlet {
    @Override
    protected void service(HttpServletRequest requestHttpServletResponse responsethrows ServletExceptionIOException {
        System.out.println("上传文件------");
        // 设置编码 格式
        request.setCharacterEncoding("UTF-8");
        // 获取 表单的输入框内容
        String uname = request.getParameter("uname");
        System.out.println("uname--"uname);
        //开始接受文件
        // 获取Part对象 (Servlet 将 multipart.form-data 的 post 请求封装成 Part对象)
        Part part = request.getPart("myfile");  // 表单中file文件域的name 属性值
        // 通过 Part 对象得到上传文件的文件名
        String fileName = part.getSubmittedFileName();
        System.out.println("上传的文件名--"+fileName);
        // 得到文件的存放路径
        String filePath = request.getServletContext().getRealPath("/");
        System.out.println("文件的存放路径" + filePath);
        // 上传文件到指定路径
        part.write(filePath+"/"+fileName);



    }
}


 
 
 
 

posted on 2021-07-21 10:12  陆秋明v  阅读(51)  评论(0编辑  收藏  举报

导航