https://github.com/dustlight-cn/storage
Storage service for Spring Boot, Provides an easy-to-use storage service for the Spring Boot project, including local storage and cloud storage. Spring Boot 储存服务,包括本地储存和云储存(阿里云OSS、腾讯云COS)
https://github.com/dustlight-cn/storage
aliyun-oss cos oss sotrage springboot tencent-cloud-cos tencent-cos
Last synced: 4 months ago
JSON representation
Storage service for Spring Boot, Provides an easy-to-use storage service for the Spring Boot project, including local storage and cloud storage. Spring Boot 储存服务,包括本地储存和云储存(阿里云OSS、腾讯云COS)
- Host: GitHub
- URL: https://github.com/dustlight-cn/storage
- Owner: dustlight-cn
- License: apache-2.0
- Created: 2020-12-08T01:20:52.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-10-20T07:25:35.000Z (over 3 years ago)
- Last Synced: 2025-01-31T00:42:26.170Z (4 months ago)
- Topics: aliyun-oss, cos, oss, sotrage, springboot, tencent-cloud-cos, tencent-cos
- Language: Java
- Homepage: https://dustlight-cn.github.io/storage
- Size: 104 KB
- Stars: 10
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Storage
**README** [English](README.md) | [简体中文](README_ZH.md)## Introductions
**Storage** is project based on java language development, it provides an easy-to-use storage service for the Spring Boot project, including local storage and cloud storage.
This project is under maintenance. Welcome for your issues and pull request. 😀[](https://travis-ci.org/dustlight-cn/storage)
[](LICENSE)
[](https://github.com/dustlight-cn/storage/releases)## Module
* [Core Module](storage-core): Provides abstract interfaces and a local storage implementation.* [Tencent Cloud Object Storage Module](tencent-cloud-object-storage): The implementation of the service based on [Tencent Cloud Object Storage (COS)](https://cloud.tencent.com/product/cos).
* [Alibaba Cloud Object Storage Module](alibaba-cloud-object-storage): The implementation of the service based on [Alibaba Cloud Object Storage (OSS)](https://www.aliyun.com/product/oss).
## Download
Grab via Maven:
```xmlcn.dustlight.storage
storage-core
0.0.6```
## Use
Simple use cases with LocalStorage look like this:
```java
package com.example.demo;import cn.dustlight.storage.core.Permission;
import cn.dustlight.storage.core.StorableObject;
import cn.dustlight.storage.core.Storage;
import cn.dustlight.storage.local.LocalStorage;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Component;import java.io.InputStream;
import java.io.OutputStream;@SpringBootApplication
@Component
public class DemoApplication implements ApplicationRunner {public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}public void run(ApplicationArguments args) throws Exception {
Storage storage = LocalStorage.defaultInstance; // Default instance's path is '.'
StorableObject test = storage.create("test.txt", Permission.PUBLIC); // Create a object with key 'test.txt', with permission 'PUBLIC'OutputStream out = test.getOutputStream(); // Get object output stream
out.write("Hello World!".getBytes()); // Write OutputStream
out.close();InputStream in = test.getInputStream(); // Get object input stream
byte[] data = new byte[13]; // Read InputStream
in.read(data);
in.close();
String str = new String(data);
System.out.println(str);}
}
```
Other operations, such as copying, checking for existence, and deleting:
```java
storage.put("text2.txt",test); // Put object to 'test2.txt'.storage.isExist("text.txt"); // Check object exists or not.
storage.remove("text.txt"); // Delete object
```
TencentCloudObjectStorage in [Tencent Cloud Object Storage](tencent-cloud-object-storage) provides the URL generated, it can generate the URL for get, put and remove.See the [wiki](https://github.com/dustlight-cn/storage/wiki) for full instructions.
## Get Help
To report a specific problem or feature request, [open a new issue on Github](https://github.com/dustlight-cn/storage/issues/new).
For questions, suggestions, or anything else, email [[email protected]](mailto:[email protected]).