Storage
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. 😀
Module
-
Core Module: Provides abstract interfaces and a local storage implementation.
-
Tencent Cloud Object Storage Module: The implementation of the service based on Tencent Cloud Object Storage (COS).
-
Alibaba Cloud Object Storage Module: The implementation of the service based on Alibaba Cloud Object Storage (OSS).
Download
Grab via Maven:
<dependency>
<groupId>cn.dustlight.storage</groupId>
<artifactId>storage-core</artifactId>
<version>0.0.6</version>
</dependency>
Use
Simple use cases with LocalStorage look like this:
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:
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 provides the URL generated, it can generate the URL for get, put and remove.
See the wiki for full instructions.
Get Help
To report a specific problem or feature request, open a new issue on Github. For questions, suggestions, or anything else, email hansin@dustlight.cn.