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

 更新时间:2023年09月12日 08:22:22   作者:W啥也不是W  
这篇文章主要给大家介绍了关于springboot中实现上传文件功能的相关资料,在Spring Boot中实现文件上传下载功能相对简单,文中给出了代码示例,需要的朋友可以参考下

在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中实现上传文件功能的文章就介绍到这了,更多相关springboot上传文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java规则引擎Easy Rules的使用介绍

    Java规则引擎Easy Rules的使用介绍

    这篇文章主要介绍了Java规则引擎Easy Rules的使用介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • java实现自定义日期选择器的方法实例

    java实现自定义日期选择器的方法实例

    日期选择器是我们日常开发中经常需要用到的一个功能,下面这篇文章主要给大家介绍了关于利用java实现自定义日期选择器的相关资料,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-10-10
  • Java的增强for循环修改数组元素的问题小结

    Java的增强for循环修改数组元素的问题小结

    增强for循环的元素变量x,就是一个局部变量,它是引用数组当前元素引用的副本(就相当于上文所说的你复刻朋友的钥匙),或者是基本数据类型的值的副本,这篇文章主要介绍了Java的增强for循环修改数组元素的问题小结,需要的朋友可以参考下
    2024-02-02
  • 很简单的Java断点续传实现原理

    很简单的Java断点续传实现原理

    这篇文章主要以实例的方式为大家详细介绍了简单的Java断点续传实现原理,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • java Date和SimpleDateFormat时间类详解

    java Date和SimpleDateFormat时间类详解

    这篇文章主要介绍了java Date和SimpleDateFormat时间类详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • 剖析Java中阻塞队列的实现原理及应用场景

    剖析Java中阻塞队列的实现原理及应用场景

    这篇文章主要介绍了剖析Java中阻塞队列的实现原理及应用场景,这里也对阻塞和非阻塞队列的不同之处进行了对比,需要的朋友可以参考下
    2015-12-12
  • java动态绑定和静态绑定用法实例详解

    java动态绑定和静态绑定用法实例详解

    这篇文章主要介绍了java动态绑定和静态绑定用法,结合实例形式详细分析了java动态绑定与静态绑定相关概念、原理、实现方法及使用注意事项,需要的朋友可以参考下
    2019-05-05
  • JavaWeb Spring注解Annotation深入学习

    JavaWeb Spring注解Annotation深入学习

    这篇文章主要为大家详细介绍了JavaWeb Spring注解Annotation,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • SpringCloud LoadBalancerClient 负载均衡原理解析

    SpringCloud LoadBalancerClient 负载均衡原理解析

    LoadBalancerClient 是 SpringCloud 提供的一种负载均衡客户端,Ribbon 负载均衡组件内部也是集成了 LoadBalancerClient 来实现负载均衡,本文给大家深入解析 LoadBalancerClient 接口源码,感兴趣的朋友跟随小编一起看看吧
    2022-02-02
  • mybatis的动态sql之if test的使用说明

    mybatis的动态sql之if test的使用说明

    这篇文章主要介绍了mybatis的动态sql之if test的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02

最新评论