java如何上传文件

内容摘要
一:准备好前台页面Upload.html表单 action=上传文件后台接口 method=“post”enctype=“multipart/form-data”,文件输入框<input type=”file”><form action="/upload" meth
文章正文

一:准备好前台页面Upload.html

表单 action=上传文件后台接口 method=“post”enctype=“multipart/form-data”,文件输入框<input type=”file”>

<form action="/upload" method="post" enctype="multipart/form-data">
     <input type="file" name="files">
    <input type="submit" value="上传">
</form>

二:加入相应的jar包

a566194b2c9954d868a5e5f92723a87.png

三:准备接收文件Servlet

url路径一定要与上面表单的action保持一致

2af84887d5b88aaf5fc939c3d4f21a6.png

四:编写文件上传后台代码

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException {
        try {
            // 配置上传参数
            DiskFileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            // 解析请求的内容提取文件数据
            @SuppressWarnings("unchecked")
            List<FileItem> formItems = upload.parseRequest(request);
            // 迭代表单数据
            for (FileItem item : formItems) {
                // 处理不在表单中的字段
                if (!item.isFormField()) {
                    String fileName = item.getName();
                    //定义上传文件的存放路径
                    String path = request.getServletContext().getRealPath("/uploadFiles");
                    //定义上传文件的完整路径
                    String filePath = String.format("%s/%s",path,fileName);
                    File storeFile = new File(filePath);
                    // 在控制台输出文件的上传路径
                    System.out.println(filePath);
                    // 保存文件到硬盘
                    item.write(storeFile);
                }
            }
        } catch (Exception ex) {
        }
    }

五:准备存放上传文件的目录,注意和上面代码中的路径保持一致

e9a0b8293245f1282cc7d1f0aff811d.png

完成!

推荐教程:java入门教程

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!