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.txtpom.xml依赖包:
OSS简单文件上传下载(源码参考)OSSUploader.java:RocketDemo org.cainiao 1.0-SNAPSHOT 4.0.0 demo-OSScom.aliyun.oss aliyun-sdk-oss3.10.2 org.cainiao demo-api1.0-SNAPSHOT org.springframework.boot spring-boot-starter-actuatororg.projectlombok lombokprovided org.springframework.boot spring-boot-starterorg.springframework.boot spring-boot-starter-testtest
注意:更多上传下载文件方式可查看阿里云官方文档
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("下载成功");
}
}



