You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
3.5 KiB
69 lines
3.5 KiB
1 year ago
|
package com.teaching.backend.utils;
|
||
|
|
||
|
import com.aliyun.oss.ClientException;
|
||
|
import com.aliyun.oss.OSS;
|
||
|
import com.aliyun.oss.OSSClientBuilder;
|
||
|
import com.aliyun.oss.OSSException;
|
||
|
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
|
||
|
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
|
||
|
import com.aliyun.oss.model.PutObjectRequest;
|
||
|
import com.aliyun.oss.model.PutObjectResult;
|
||
|
|
||
|
import java.awt.*;
|
||
|
import java.io.FileInputStream;
|
||
|
import java.io.InputStream;
|
||
|
|
||
|
public class AliOssTest {
|
||
|
public static void main(String[] args) throws Exception {
|
||
|
// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。因为是华中地区 所以需要加上-lr
|
||
|
String endpoint = "oss-cn-wuhan-lr.aliyuncs.com";
|
||
|
|
||
|
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
|
||
|
// EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
|
||
|
String accessKeyId ="LTAI5tFkdu3y5WddxbjgaG2F";
|
||
|
String accessKeySecret ="1xUchxUTlmUBoTV5JQIrKsVjSkmsLF";
|
||
|
|
||
|
// 填写Bucket名称,例如examplebucket。
|
||
|
String bucketName = "ceshi132132";
|
||
|
// 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
|
||
|
String objectName = "ceshi/33.docx";
|
||
|
// 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。
|
||
|
// 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
|
||
|
String filePath= "C:\\Users\\jian\\Desktop\\123345\\999\\33.docx";
|
||
|
|
||
|
// 创建OSSClient实例。
|
||
|
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
|
||
|
// OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);
|
||
|
|
||
|
|
||
|
try {
|
||
|
InputStream inputStream = new FileInputStream(filePath);
|
||
|
// 创建PutObjectRequest对象。
|
||
|
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
|
||
|
// 设置该属性可以返回response。如果不设置,则返回的response为空。
|
||
|
putObjectRequest.setProcess("true");
|
||
|
// 创建PutObject请求。
|
||
|
PutObjectResult result = ossClient.putObject(putObjectRequest);
|
||
|
// 如果上传成功,则返回200。
|
||
|
System.out.println(result.getResponse().getStatusCode());
|
||
|
} catch (OSSException oe) {
|
||
|
System.out.println("Caught an OSSException, which means your request made it to OSS, "
|
||
|
+ "but was rejected with an error response for some reason.");
|
||
|
System.out.println("Error Message:" + oe.getErrorMessage());
|
||
|
System.out.println("Error Code:" + oe.getErrorCode());
|
||
|
System.out.println("Request ID:" + oe.getRequestId());
|
||
|
System.out.println("Host ID:" + oe.getHostId());
|
||
|
} catch (ClientException ce) {
|
||
|
System.out.println("Caught an ClientException, which means the client encountered "
|
||
|
+ "a serious internal problem while trying to communicate with OSS, "
|
||
|
+ "such as not being able to access the network.");
|
||
|
System.out.println("Error Message:" + ce.getMessage());
|
||
|
} finally {
|
||
|
if (ossClient != null) {
|
||
|
ossClient.shutdown();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|