x-file-storage一行代码进行文件上传,摆脱阿里云,腾讯云,华为云等不同云的学习,简单高效

问题:

不使用x-file-storage时如果使用某个云首先需要学习他的sdk,这样很麻烦,而x-file-storage集成了各种云的上传,只需要进行配置即可一行代码进行上传

使用

官方地址X File Storage

一行代码将文件存储到本地、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 协议的存储平台。

这里我们以阿里云为例进行举例,其他云就是复制粘贴的事

集成

1)pom.xml中引入依赖

XML 复制代码
<!-- 文件上传-->
<dependency>
    <groupId>org.dromara.x-file-storage</groupId>
    <artifactId>x-file-storage-spring</artifactId>
    <version>2.1.0</version>
</dependency>
<!-- 阿里云oss-->
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.16.1</version>
</dependency>

2)在application.yml 配置文件中先添加以下基础配置,再添加对应平台的配置

java 复制代码
# 文件上传
dromara:
  x-file-storage: #文件存储配置
    default-platform: aliyun-oss-1 #默认使用的存储平台
    thumbnail-suffix: ".min.jpg" #缩略图后缀,例如【.min.jpg】【.png】
    #对应平台的配置写在这里,注意缩进要对齐
    aliyun-oss:
      - platform: aliyun-oss-1 # 存储平台标识
        enable-storage: true  # 启用存储
        access-key: ??
        secret-key: ??
        end-point: ??
        bucket-name: ??
        domain: ?? # 访问域名,注意"/"结尾,例如:https://abc.oss-cn-shanghai.aliyuncs.com/
        base-path: dkd-images/ # 基础路径

3)在启动类上加上@EnableFileStorage注解

java 复制代码
@EnableFileStorage
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
public class DkdApplication
{
    public static void main(String[] args)
    {
        SpringApplication.run(DkdApplication.class, args);
       
    }
}

最后

实现一行代码实现文件上传

圈出来的就是那一行上传的代码,返回的路径信息都在fileInfo中

相关推荐
TMT星球3 小时前
中国AI云市场报告:阿里云份额达35.8%,高于2至4名总和
人工智能·阿里云·云计算
Evan Wang5 小时前
使用Terraform管理阿里云基础设施
阿里云·云原生·terraform
乐大师7 小时前
腾讯云负载均衡增加访问策略后访问失败
云计算·负载均衡·腾讯云
衍余未了8 小时前
k8s 内置的containerd配置阿里云个人镜像地址及认证
java·阿里云·kubernetes
XXX-X-XXJ1 天前
腾讯云语音接口实现会议系统
云计算·腾讯云
杏花春雨江南1 天前
腾讯云 CLB (Cloud Load Balancer) 为例,详细讲解如何配置 Nginx 集群
nginx·云计算·腾讯云
Techer_Y1 天前
云安全服务(参考自腾讯云工程师认证课程)
网络·云计算·腾讯云
Craze_rd1 天前
腾讯云TDSQL-C 与传统MySQL对比
mysql·云计算·腾讯云
Clownseven1 天前
CN2 GIA线路深度解析:阿里云/腾讯云选哪个?(附三网评测)
阿里云·云计算·腾讯云
杏花春雨江南1 天前
pringboot3.0 创建的javaweb 应用,部署在腾讯云上的整体步骤
云计算·腾讯云