【JavaEE】上传文件

发布于:2024-12-08 ⋅ 阅读:(203) ⋅ 点赞:(0)

一、核心方法

HttpServletRequest 类方法

方法 描述
Part getPart(String name) 获取请求中给定 name 的文件
Collection getParts() 获取所有的文件

Part 类方法

方法 描述
String getSubmittedFileName() 获取提交的文件名
String getContentType() 获取提交的文件类型
long getSize() 获取文件的大小
void write(String path) 把提交的文件数据写入磁盘文件

二、代码示例

前端代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>上传文件</title>
</head>
<body>
    <form action="upload" method="post" enctype="multipart/form-data">
        <input type="file" name="MyFile">
        <input type="submit" value="上传">
    </form>
</body>
</html> 

后端代码
UploadServlet.java

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("/upload")
public class UploadServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Part part = req.getPart("MyFile");
        // 获取文件的真实名字
        System.out.println(part.getSubmittedFileName());
        // 获取文件的大小
        System.out.println(part.getSize());
        // 获取文件的类型
        System.out.println(part.getContentType());
        // 将文件写入服务器的磁盘
        part.write("d:/result.jpg");
        resp.getWriter().write("upload ok");
    }
}

上传文件我们发现出现报错500,我们需要加上 @MultipartConfig 的注解,表明开启上传文件,也就是说这里默认是关闭上传文件的。

在这里插入图片描述

成功运行并上传文件,在D盘里面发现多出来了个 result.jpg 文件,此时表明文件上传成功
在这里插入图片描述

在控制台打印出我们之前需要打印的信息


网站公告

今日签到

点亮在社区的每一天
去签到