spring boot文件上传之x-file-storage

news/2024/9/29 0:58:28/

spring boot文件上传之x-file-storage

今天看到一个文件上传的开源组件x-file-storage,官方地址如下:

https://x-file-storage.xuyanwu.cn/#/

该组件官网是这样介绍的,如下:

一行代码将文件存储到本地、FTP、SFTP、WebDAV、阿里云 OSS、华为云 OBS、七牛云 Kodo、腾讯云 COS、百度云 BOS、又拍云 USS、MinIO、 Amazon S3、GoogleCloud Storage、FastDFS、 Azure Blob Storage、Cloudflare R2、金山云 KS3、美团云 MSS、京东云 OSS、天翼云 OOS、移动 云EOS、沃云 OSS、 网易数帆 NOS、Ucloud US3、青云 QingStor、平安云 OBS、首云 OSS、IBM COS、其它兼容 S3 协议的存储平台。查看 所有支持的存储平台

具体学习的话可以详细参考该组件网站给的示例

这里以springboot3为例,文件上传到本地做了一个简单测试,代码如下

第一步,引入pom依赖

java">		<dependency><groupId>org.dromara.x-file-storage</groupId><artifactId>x-file-storage-spring</artifactId><version>2.2.1</version></dependency>

第二步,配置yaml

java">dromara:x-file-storage: default-platform: local-plus-1 thumbnail-suffix: ".min.jpg" local-plus:- platform: local-plus-1 enable-storage: true  enable-access: true domain: http://127.0.0.1:8080/file/ base-path: local-plus/path-patterns: /file/** storage-path: D:/Temp/ 

第三步,编写controller

java">@RestController
public class FileController {@Autowiredprivate FileStorageService fileStorageService;/*** 上传文件*/@PostMapping("/upload")public FileInfo upload(@RequestParam("file")MultipartFile file) {String originalFilename = file.getOriginalFilename();FileInfo upload = fileStorageService.of(file).setSaveFilename(originalFilename).upload();return upload;}
}

第四步,启动类上添加开启启用该组件注解

java">@SpringBootApplication
@EnableFileStorage
public class XFileStorageApplication {public static void main(String[] args) {SpringApplication.run(XFileStorageApplication.class, args);}}

最后启动项目进行测试,使用postman进行发送请求
在这里插入图片描述

然后到 yaml 配置文件指定的位置进行查看
在这里插入图片描述


http://www.ppmy.cn/news/1531163.html

相关文章

Android系统应用安装完成后是如何通知其他应用的?

文章目录 具体步骤如下&#xff1a;相关的系统广播&#xff08;Actions&#xff09;&#xff1a;总结&#xff1a; Android系统在应用安装完成后&#xff0c;会通过 广播&#xff08;Broadcast&#xff09;的方式通知其他应用。这个广播称为"应用安装完成广播"&…

实验报告2-前端框架和模板引擎实现视图

资源下载 实验报告2-前端框架和模板引擎实现视图 一、实现思路 Spring Boot整合Thymeleaf实现图书管理案例。要求&#xff1a; 1、项目使用Spring Boot整合Thymeleaf&#xff0c;项目展示的页面效果全部通过Thymeleaf的模板文件实现。 2、查询所有图书。访问http://localhost:8…

基于SSM+小程序的儿童预防接种预约管理系统(疫苗1)(源码+sql脚本+视频导入教程+文档)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 本儿童预防接种预约微信小程序可以实现管理员和用户。 1、管理员功能有个人中心&#xff0c;用户管理&#xff0c;儿童信息管理&#xff0c;疫苗信息管理&#xff0c;儿童接种管理&#x…

Linux 文件 IO 管理(第三讲:文件系统)

Linux 文件 IO 管理&#xff08;第三讲&#xff1a;文件系统&#xff09; 进程为什么默认要打开文件描述符为 0&#xff0c;1 和 2 的文件呢&#xff1f;文件系统物理磁盘简单认识存储结构对磁盘存储进行逻辑抽象分组 —— 文件系统Block Bitmapinode Tableinode BitmapGDT(Gro…

MySql Explain优化命令使用

MySql Explain优化命令使用 truncate table student // 自增id 从 0 开始 delete from student // 自增id 会保留 &#xff0c; 108 区别&#xff1a; 1&#xff1a;自增id 2&#xff1a;delete 可以恢复 truncate 无法恢复 前言 EXPLAIN 是一个用于获取 SQL 语句执行计划的…

SpringCloud 2023 Gateway的Predicate配置详解、自定义Route Predicate Factory

目录 1. Predicate Factories介绍2. 常用的内置Route Predicate使用2.1 配置语法说明2.2 配置使用 3. 自定义Route Predicate Factory3.1 实现步骤&#xff1a;3.2 实现代码如下&#xff1a;3.3 application.yml配置3.4 测试 1. Predicate Factories介绍 Spring Cloud Gateway…

智能PPT行业赋能用户画像

智能PPT市场在巨大的需求前景下&#xff0c;已吸引一批不同类型的玩家投入参与竞争。从参与玩家类型来看&#xff0c;不乏各类与PPT创作有关的上下游企业逐步向智能PPT赛道转型进入&#xff0c;也包括顺应生成式AI技术热潮所推出的创业企业玩家。当前&#xff0c;智能PPT赛道发…

打造同城O2O平台:外卖跑腿APP的架构与功能设计详解

今天&#xff0c;小编将于大家共同讨论外卖跑腿APP的架构设计及其核心功能&#xff0c;旨在为开发者提供一份详尽的参考。 一、外卖跑腿APP的架构设计 1.整体架构概述 通常包括前端、后端和数据库。 2.前端设计 用户端提供直观的界面&#xff0c;方便用户下单、查询订单状态…