• Servlet上传文件


    一、核心方法

    1、HttpServletRequest类相关方法

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

    2、Part类相关方法

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

    二、代码示例

    实现程序,通过网页上传一张图片到服务器。

    1、前端代码

    首先在webapp目录下创建一个upload.html文件,然后编写代码:

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>上传文件title>
    8. head>
    9. <body>
    10. <form action="upload" method="post" enctype="multipart/form-data">
    11. <input type="file" name="myfile">
    12. <input type="submit" value="上传">
    13. form>
    14. body>
    15. html>

    注意:

    (1) 上传文件时的请求为POST请求;

    (2) form表单中要加上enctype属性,值为 "multipart/form-data"

    2、后端代码

    1. @WebServlet("/upload")
    2. @MultipartConfig
    3. public class UploadServlet extends HttpServlet {
    4. @Override
    5. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    6. Part part = req.getPart("myfile");
    7. System.out.println(part.getSubmittedFileName());//获取文件的真实名
    8. System.out.println(part.getSize());//获取文件大小
    9. System.out.println(part.getContentType());//获取文件类型
    10. part.write("D:/鸡哥/result.jpg");//把文件数据保存到硬盘
    11. }
    12. }

    注意:

    3、查看结果

    服务器:

    硬盘:

    请求:

  • 相关阅读:
    chrome浏览器设置--disable-web-security解决跨域
    php设计模式重构篇
    GJB 128B-2021标准版本变更汇总 ,发布, 下载
    TsMaster报文发送
    OpenCV之MobileNet-SDD目标检测
    记账本简单应用-原生&vue的实现对比
    「 网络安全常用术语解读 」软件物料清单SBOM详解
    如何管理和维护组件库?
    「数据结构」跳表原理详解及代码实现
    PCycDB:全面准确的磷循环基因分析数据库
  • 原文地址:https://blog.csdn.net/m0_67683346/article/details/128020879