栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

OSS 简单读写操作

OSS 简单读写操作

OSS简单读写项目(源码):

https://gitee.com/aaron1996/oss

OSS官方学习文档:

流式下载 - 对象存储 OSS - 阿里云

OSS简单项目(项目结构):

配置文件(application.properties):
# OSS 相关配置
cainiao.OSS.endpoint = oss-cn-zhangjiakou.aliyuncs.com
cainiao.OSS.accessKeyID = (根据实际填写)
cainiao.OSS.accessKeySecret = (根据实际填写)
cainiao.OSS.bucketName = mallchenke-oss
cainiao.OSS.objectName = cainiao-oss-test/test.txt

pom.xml依赖包:


    
        RocketDemo
        org.cainiao
        1.0-SNAPSHOT
    
    4.0.0

    demo-OSS

    
        
        
            com.aliyun.oss
            aliyun-sdk-oss
            3.10.2
        
        
        
            org.cainiao
            demo-api
            1.0-SNAPSHOT
        
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
        
            org.projectlombok
            lombok
            provided
        
        
        
            org.springframework.boot
            spring-boot-starter
        
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

OSS简单文件上传下载(源码参考)OSSUploader.java:

注意:更多上传下载文件方式可查看阿里云官方文档

package com.cainiao.oss.service;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.OSSObject;
import com.aliyun.oss.model.PutObjectRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.InputStreamReader;

@Slf4j
@Component
public class OSSUploader {

    @Value("${cainiao.OSS.endpoint}")
    private String endPoint;

    @Value("${cainiao.OSS.accessKeyID}")
    private String accessKeyID;

    @Value("${cainiao.OSS.accessKeySecret}")
    private String accessKeySecret;

    @Value("${cainiao.OSS.bucketName}")
    private String bucketName;

    @Value("${cainiao.OSS.objectName}")
    private String objectName;

    public void OSSUploadFiles(){
        StringBuffer endPointBuffer = new StringBuffer(endPoint);
        endPoint = new StringBuffer("https://").append(endPointBuffer).toString();
        System.out.println("endPoint: " + endPoint);
        try{
            // 创建OSS对象
            OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyID, accessKeySecret);
            // 上传文件内容
            String content = "This content is test string type file!";
            // 创建PutObjectRequest
            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new ByteArrayInputStream(content.getBytes()));
            // 上传字符串
            ossClient.putObject(putObjectRequest);
            ossClient.shutdown();
        }catch (Exception e){
            System.out.println("Request Error: " + e);
        }
    }

    public void OSSDownloadFiles(){
        try{
            // 创建OSS对象
            OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyID, accessKeySecret);

            // ossObject包含文件所在的存储空间名称、文件名称、文件元信息以及一个输入流。
            OSSObject ossObject = ossClient.getObject(bucketName, objectName);

            // 读取文件内容
            System.out.println("OSS Test Object content is : ");
            BufferedReader reader = new BufferedReader(new InputStreamReader(ossObject.getObjectContent()));
            while(true){
                String line = reader.readLine();
                if(line == null){
                    break;
                }
                System.out.println("n" + line);
            }
            reader.close();
            ossObject.close();
            ossClient.shutdown();
        }catch (Exception e){
            System.out.println("Request Error: " + e);
        }
    }

}

OSS项目启动文件(OSSApplication.java):
package com.cainiao.oss.service;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class OSSApplication {

    public static void main(String[] args) {
        SpringApplication.run(OSSApplication.class, args);
    }

}

OSS(文件上传下载)测试源码OSSUploaderTest .java:
package com.cainiao.oss.service;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest(classes = OSSApplication.class)
class OSSUploaderTest {

    @Autowired
    private OSSUploader ossUploader;

    @Test
    public void OSSUploadFilesTest(){
        System.out.println("开始上传文件");
        ossUploader.OSSUploadFiles();
        System.out.println("上传成功");
    }

    @Test
    public void OSSDownloadFilesTest(){
        System.out.println("开始下载文件");
        ossUploader.OSSDownloadFiles();
        System.out.println("下载成功");
    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/746171.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号