文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SpringBoot如何实现单文件与多文件上传功能

2023-06-26 05:33

关注

这篇文章将为大家详细讲解有关SpringBoot如何实现单文件与多文件上传功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1.单文件上传

首先创建一个Spring Boot项目,并添加spring-boot-starter-web依赖

然后创建一个upload.jsp文件,做一个简单的文件上传页面,具体代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>Title</title></head><body>    <form action="${pageContext.request.contextPath}/wjsc/upload" method="post" enctype="multipart/form-data">        <input type="file" value="请选择文件" name="uploadFile">        <input type="submit" value="点击上传">    </form></body></html>

上传接口是wjsc/upload,注意请求方法是postenctypemultipart/form-data

然后创建上传文件接口:

@RequestMapping("/wjsc")@RestControllerpublic class UploadController {        @PostMapping("/upload")    //MultipartFile接受前台传过来的文件    public String upload(MultipartFile uploadFile,HttpServletRequest req){        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/");        //设置上传文件的保存路径为项目运行目录下的uploadFile文件夹        String realPath = req.getSession().getServletContext().getRealPath("/uploadFile/");        //获取当前日期对所上传的文件进行归类保存        String format = sdf.format(new Date());        File folder = new File(realPath+format);        if (!folder.isDirectory()){//判断是否为目录            folder.mkdirs();//不是目录就创建目录        }        //给上传的文件重命名        String oldName = uploadFile.getOriginalFilename();//获取文件名称        String newName = UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."),oldName.length());//设置新文件名        try{            //文件保存操作            uploadFile.transferTo(new File(folder,newName));            //生成文件访问路径            String filePath = req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+"/uploadFile/"+format+newName;            return filePath;        }catch (Exception e){            e.printStackTrace();        }        return "上传失败";     }}

注意:MultipartFile变量名命名要与jsp中上传文件的name一致,不然会接收不到文件

最后测试:

运行项目,在浏览器中访问upload.jsp页面进行文件上传

SpringBoot如何实现单文件与多文件上传功能

上传成功后会返回文件访问路径,用这个路径就可以访问到刚刚上传的图片

SpringBoot如何实现单文件与多文件上传功能

 项目中也可以看到刚刚上传的图片成功了

SpringBoot如何实现单文件与多文件上传功能

至此,一个简单的单文件上传就完成了.

2.多文件上传

多文件上传和单文件上传基本一致,首先修改jsp文件,代码如下:

<

%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>Title</title></head><body>    <form action="${pageContext.request.contextPath}/wjsc/upload" method="post" enctype="multipart/form-data">        <input type="file" value="请选择文件" name="uploadFiles" multiple>        <input type="submit" value="点击上传">    </form></body></html>

然后修改上传文件接口:

    @PostMapping("/uploads")    public String uploads(MultipartFile[] uploadFiles,HttpServletRequest req) {        //遍历uploadFiles数组分别储存    }

 控制器里边的核心逻辑和单文件上传是一样的,只是多一个遍历的步骤。

关于“SpringBoot如何实现单文件与多文件上传功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯