首页 > 其他分享 >springboot中实现上传文件的功能简单示例

springboot中实现上传文件的功能简单示例

时间:2023-11-21 10:01:49浏览次数:32  
标签:文件 springboot 文件名 示例 file e4% 上传 String

在Spring Boot中实现文件上传可以通过以下步骤:

配置文件上传相关的依赖:在项目的pom.xml文件中,添加以下依赖:

<dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-web</artifactId> </dependency>

创建文件上传接口:在一个控制器类中创建一个处理文件上传的接口。

这里会将文件存储到同一文件夹下。由于同一文件夹下不能出现重复的文件名,这里用uuid随机生成一个随机的文件名来替代原文件名

@RestController public class FileUploadController {     @PostMapping("/upload")     public String uploadFile(@RequestParam("file") MultipartFile file) {         if (file.isEmpty()) {             return ResponseEntity.badRequest().body("请选择要上传的文件");         }         try {             // 获取原始文件名             String originalFilename = file.getOriginalFilename();             // 生成新的文件名,以防止文件名冲突             String newFilename = UUID.randomUUID().toString() + "_" + originalFilename;             // 文件保存路径             String filePath = UPLOAD_DIRECTORY + newFilename;             // 保存文件到服务器             file.transferTo(new File(filePath));             // 返回文件上传成功的相关信息             String message = "文件上传成功\n";             message += "文件名: " + originalFilename + "\n";             message += "保存路径: " + filePath;             return ResponseEntity.ok(message);         catch (Exception e) {             return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("文件上传失败: " + e.getMessage());         }     } }

配置文件上传限制:通过application.properties或application.yml配置文件,设置文件上传的一些限制。例如,可以设置最大文件大小、允许上传的文件类型等。

application.yml配置例子:

spring:   servlet:     multipart:       max-file-size: 10MB       max-request-size: 10MB

创建文件上传表单页面:在前端创建一个可以选择文件并提交上传的表单页面。

<!DOCTYPE html> <html> <head>     <title>File Upload Form</title> </head> <body>     <h2>File Upload Form</h2>     <form action="/upload" method="POST" enctype="multipart/form-data">         <input type="file" name="file" />         <button type="submit">Upload</button>     </form> </body> </html>

总结 

到此这篇关于springboot中实现上传文件功能的文章就介绍到这了

 

参考文章:http://blog.ncmem.com/wordpress/2023/11/21/springboot%e4%b8%ad%e5%ae%9e%e7%8e%b0%e4%b8%8a%e4%bc%a0%e6%96%87%e4%bb%b6%e7%9a%84%e5%8a%9f%e8%83%bd%e7%ae%80%e5%8d%95%e7%a4%ba%e4%be%8b/

欢迎入群一起讨论

 

 

标签:文件,springboot,文件名,示例,file,e4%,上传,String
From: https://www.cnblogs.com/songsu/p/17845584.html

相关文章

  • SpringBoot + vue2.0查询所用功能
    导入数据库文件CREATEDATABASE`springboot`/*!40100DEFAULTCHARACTERSETutf8mb4COLLATEutf8mb4_0900_ai_ci*//*!80016DEFAULTENCRYPTION='N'*/CREATETABLE`users`(`id`intunsignedNOTNULLAUTO_INCREMENT,`name`varchar(40)CHARACTERSETu......
  • 220-jquery,将base64的图片,转为file文件,并通过$.ajax上传
    varbase64='';constblob=dataURLToBlob(base64);constfile=blobToFile(blob,'image.jpg');uploadImage(file);functiondataURLToBlob(base64){constparts=dataURL.split(';base64,');constcontentType=......
  • 基于springboot的七彩云南文化旅游网站-计算机毕业设计源码+LW文档
    摘 要传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装七彩云南文化旅游网站软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,七彩云南文化旅......
  • 基于springboot的太原学院商铺管理系统-计算机毕业设计源码+LW文档
    摘 要信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容......
  • 基于Springboot的小区疫情购物系统-计算机毕业设计源码+LW文档
    摘 要信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容......
  • 【靶场部署】文件上传靶场搭建
    upload-labs漏洞靶场搭建步骤1、下载:可以在GitHub上下载相关源码。下载网址为https://github.com/c0ny1/upload-labs,点击此处下载压缩包。2、下载完成后将解压后的目录文件sqli-labs-master复制到 D:\phpStudy\WWW下3、在虚拟机中,打开phpstudy,并启动。 4、在虚拟机中,打开......
  • Springboot自定义starter
    Springboot自定义sarter这里通过自定义mybatis的starter来简单进行分析理解步骤:创建dmybatis-spring-boot-autoconfigure模块,提供自动配置功能,并定义配置文件META-INF/spring/xxx.imports创建dmybatis-spring-boot-starter模块,在starter中引入自动配置模块创建项目:1......
  • day131- springboot 的配置文件yaml的用法
    springboot的配置文件yaml的用法yaml文件同properties文件一样,适合用来做数据为中心的配置文件基本语法key:value;kv之间有空格大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许空格缩进的空格数不重要,只要相同层级的元素左对齐即可'#'表示注释字......
  • 基于Springboot宠物商城网站系统-计算机毕业设计源码+LW文档
    摘 要如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统宠物商城网站系统信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个宠物商城网......
  • DHorse发布SpringBoot项目
    前言在介绍DHorse的操作之前,先来介绍一下使用k8s发布应用的步骤,以SpringBoot应用为例进行说明。1.首先从代码仓库下载代码,比如GitLab;2.接着进行构建,比如使用Maven;3.如果要使用k8s作为编排,还需要把步骤2产生的包制作成镜像,比如使用Docker;4.上传步骤3的镜像到远程仓库,比如Harho......