SpringBoot如何实现单文件与多文件上传功能(springboot,开发技术)

时间:2024-05-04 03:21:39 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

1.单文件上传

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

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

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

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

然后创建上传文件接口:

@RequestMapping("/wjsc")@RestControllerpublicclassUploadController{/***文件上传*/@PostMapping("/upload")//MultipartFile接受前台传过来的文件publicStringupload(MultipartFileuploadFile,HttpServletRequestreq){SimpleDateFormatsdf=newSimpleDateFormat("yyyy/MM/dd/");//设置上传文件的保存路径为项目运行目录下的uploadFile文件夹StringrealPath=req.getSession().getServletContext().getRealPath("/uploadFile/");//获取当前日期对所上传的文件进行归类保存Stringformat=sdf.format(newDate());Filefolder=newFile(realPath+format);if(!folder.isDirectory()){//判断是否为目录folder.mkdirs();//不是目录就创建目录}//给上传的文件重命名StringoldName=uploadFile.getOriginalFilename();//获取文件名称StringnewName=UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."),oldName.length());//设置新文件名try{//文件保存操作uploadFile.transferTo(newFile(folder,newName));//生成文件访问路径StringfilePath=req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+"/uploadFile/"+format+newName;returnfilePath;}catch(Exceptione){e.printStackTrace();}return"上传失败";}}

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

最后测试:

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

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

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

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

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

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

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

2.多文件上传

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

<

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

然后修改上传文件接口:

/***多文件上传*/@PostMapping("/uploads")publicStringuploads(MultipartFile[]uploadFiles,HttpServletRequestreq){//遍历uploadFiles数组分别储存}

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

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:SpringBoot如何实现单文件与多文件上传功能的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:JavaScript如何实现购物车怎么下一篇:

11 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18