• 传统方式上传文件


    //第一步:导入依赖jar包

    <dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.1</version>
    </dependency>
    <dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
    </dependency>

    //编写jsp页面发送上传请求
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
    <title>Title</title>
    </head>
    <body>
    <h3>文件上传</h3>
    <%--<a href="user/fileUpload1">文件上传1</a>--%>
    <form action="user/fileUpload1" method="post" enctype="multipart/form-data" >
    选择文件:<input type="file" name="upload"/><br/>
    <input type="submit" value="上传">
    </form>
    </body>
    </html>

    //编写后台上传方法

    package com.hope.controller;

    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;

    import javax.servlet.http.HttpServletRequest;
    import java.io.File;
    import java.util.List;
    import java.util.UUID;

    /**
    * @author newcityman
    * @date 2019/11/28 - 13:04
    */
    @Controller("userController")
    @RequestMapping(path = "/user")
    public class UserController {
    @RequestMapping(path = "/fileUpload1")
    public String fileUpload1(HttpServletRequest request) throws Exception {
    System.out.println("文件上传。。。。");
    //使用fileupload组件完成文件上传
    //获取上传的位置
    String path = request.getSession().getServletContext().getRealPath("/uploads/");
    //判断,路径是否存在
    File file = new File(path);
    if(!file.exists()){
    //创建该文件夹
    file.mkdirs();
    }
    //解析request对象,获取上传文件项
    DiskFileItemFactory factory = new DiskFileItemFactory(); //磁盘文件项工厂
    ServletFileUpload upload = new ServletFileUpload(factory);

    //解析rquest
    List<FileItem> items = upload.parseRequest(request);
    for(FileItem item:items){
    //判断当前文件是否是上传文件项
    if(item.isFormField()){
    //说明文件是普通文件项
    }else{
    //说明是上传文件项
    //获取上传文件的名称
    String fileName = item.getName();
    String uuid = UUID.randomUUID().toString().replace("-","");
    fileName=uuid+fileName;
    //完成文件上传
    item.write(new File(path,fileName));
    //删除临时文件
    item.delete();
    }
    }
    return "success";
    }

    }
     
     
  • 相关阅读:
    札记:计算机网络篇:物理层
    vs2012 它已停止工作
    php laravel 帧 该文件上传
    2016第一周日
    2015年第1周六
    2016第1周五优化自己
    2016值得关注的语言平台、JS框架
    JS模块化规范CommonJS,AMD,CMD
    2016第1周二
    ReactJS入门教程
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11951687.html
Copyright © 2020-2023  润新知