Skip to the content.

Storage

README English | 简体中文

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. 😀

Build Status GitHub GitHub release (latest by date)

Module

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.