[TOC为什么现在保存文件推荐对象存储,整合性对象存储开源组件推荐](这里写自定义目录标题)
# 为什么现在保存文件推荐对象存储,整合性对象存储开源组件推荐
对象存储(OSS)是为互联网应用提供非结构化文件存储的服务;相对于传统硬盘存储,对象存储具有存储无上限、支持高并发访问、成本更低等优势;解决业务架构的文件存储问题,有效降低海量文件的存储成本,支持热点数据的高并发访问,提升终端用户访问体验。
## 怎么选择对象存储
现在市面上的对象存储多而杂,有没有一款组件可以整合市面上的对象存储
commonTool,如你所见,它是一个小型整合型的工具类,带有整合(阿里云,七牛云,又拍云,腾讯云,华为云,百度云,本地上传)OSS上传,短信发送(阿里云,腾讯云,七牛云),文件加工类,,它可以让我们脱离繁琐的开发流程,让开发变得So easy!
gtihub地址[https://github.com/shengdingbox/commonTool]
gitee地址[https://gitee.com/zifeiZhou/commonTool]
# 快速开始
- 引入依赖
<dependency>
<groupId>com.zhouzifei</groupId>
<artifactId>commonTool</artifactId>
<version>1.0.3</version>
</dependency>
- 使用maven从源码安装
mvn clean install
## 功能介绍
### 文件上传oss(支持阿里云,七牛云,又拍云,腾讯云,华为云,~~百度云~~,本地上传)
- `application.yml`配置OSS信息
tool:
file:
storage-type-const: 存储类型(枚举可选择)
bucket-name: 空间名称
local-file-path: 本地路径
path-prefix: 图片文件夹
domain-url: 图片外网地址
operator-name: 又拍云账号
operator-pwd: 又拍云密码
access-key: 授权AK
secret-key: 授权SK
endpoint: 地域
```
- 编写上传类
public class FileUpload {
@Autowired
FileProperties fileProperties;
public static void main(String[] args) {
BaseFileUploader uploader = new BaseFileUploader();
File file = new File("本地地址");
//可以不使用配置文件,自己另外指定属性
fileProperties.setPathPrefix("前缀");
ApiClient apiClient = uploader.getApiClient(fileProperties);
VirtualFile virtualFile = apiClient.uploadImg(file);
System.out.println("上传完的文件信息为"+virtualFile);
boolean removeFile = apiClient.removeFile("文件名称(带前缀)");
System.out.println("文件是否删除"+removeFile);
VirtualFile virtualFile = apiClient.multipartUpload("分片上传");
}
}