64 lines
3.3 KiB
Java
64 lines
3.3 KiB
Java
package common;
|
||
|
||
import com.aliyun.oss.*;
|
||
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
|
||
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
|
||
import com.aliyun.oss.common.comm.SignVersion;
|
||
import com.aliyun.oss.model.PutObjectRequest;
|
||
import com.aliyun.oss.model.PutObjectResult;
|
||
|
||
import java.io.FileInputStream;
|
||
import java.io.InputStream;
|
||
|
||
public class Demo {
|
||
|
||
public static void main(String[] args) throws Exception {
|
||
// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
|
||
String endpoint = "https://oss-cn-beijing.aliyuncs.com";
|
||
// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
|
||
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
|
||
// 填写Bucket名称,例如examplebucket。
|
||
String bucketName = "low-office";
|
||
// 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
|
||
String objectName = "CoCo/1bf7c95f6aaf446fb8fa66c6d19aafa8.jpg";
|
||
// 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。
|
||
// 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
|
||
String filePath= "G:\\壁纸\\1bf7c95f6aaf446fb8fa66c6d19aafa8.jpg";
|
||
// 填写Bucket所在地域。以华东1(杭州)为例,Region填写为cn-hangzhou。
|
||
String region = "cn-beijing";
|
||
|
||
// 创建OSSClient实例。
|
||
ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
|
||
clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
|
||
OSS ossClient = OSSClientBuilder.create()
|
||
.endpoint(endpoint)
|
||
.credentialsProvider(credentialsProvider)
|
||
.clientConfiguration(clientBuilderConfiguration)
|
||
.region(region)
|
||
.build();
|
||
|
||
try {
|
||
InputStream inputStream = new FileInputStream(filePath);
|
||
// 创建PutObjectRequest对象。
|
||
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
|
||
// 创建PutObject请求。
|
||
PutObjectResult result = ossClient.putObject(putObjectRequest);
|
||
} 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();
|
||
}
|
||
}
|
||
}
|
||
} |