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. 😀
-
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).
Grab via Maven:
<dependency>
<groupId>cn.dustlight.storage</groupId>
<artifactId>storage-core</artifactId>
<version>0.0.6</version>
</dependency>
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.
To report a specific problem or feature request, open a new issue on Github. For questions, suggestions, or anything else, email [email protected].