需要源码小伙伴可以到微信小程序:”MINIIT资源库“获取,作者承诺免费
一.首先获得阿里云对象存储API(我们只要进去获取三个字符串)
1.阿里云官网注册登录,进入首页鼠标移至产品处点击对象存储oss
2. 点击立即开通
3. 对象存储是按量付费的,可以购买套餐也可以不购买
4.开通后就会进入工作台界面,点击bucket列表,然后创建bucket,创建时的表单都有默认选择
5.然后上传文件,选择指定目录可以同时创建文件夹并将文件保存到该文件夹下,然后点击上传文件即可
6.然后鼠标移至右上角头像,点击assessKey管理,会出现两串字符串,记得保存下来
点击左边概览,拿到你的endpoint(地域节点)
准备工作结束。
二、实现代码我用一个main方法测试
package com.doll.aliyunoss.config;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectRequest;
import java.io.ByteArrayInputStream;
import java.io.File;
public class OssConfig {
// // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
// String endpoint = "yourEndpoint";
// // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
// String accessKeyId = "yourAccessKeyId";
// String accessKeySecret = "yourAccessKeySecret";
// // 填写Bucket名称,例如examplebucket。
// String bucketName = "examplebucket";
// // 填写文件名。文件名包含路径,不包含Bucket名称。例如exampledir/exampleobject.txt。
// String objectName = "exampledir/exampleobject.txt";
//
// // 创建OSSClient实例。
// OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
//
// String content = "Hello OSS";
//ossClient.putObject(bucketName, objectName, new ByteArrayInputStream(content.getBytes()));
//
关闭OSSClient。
//ossClient.shutdown();
public static void main(String[] args) {
/**
* 上传字符串
*/
// String endpoint = "oss-cn-shenzhen.aliyuncs.com";
// // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
// String accessKeyId = "LTAI5tMmZ5osb**********";
// String accessKeySecret = "09TEui21PZgE8cc52***********";
//
// // 创建OSSClient实例。
// OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
//
// // 填写字符串。
// String content = "Hello OSS";
//
// // 创建PutObjectRequest对象。
// // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
// PutObjectRequest putObjectRequest = new PutObjectRequest("db-losen", "losen-test/test01.txt", new ByteArrayInputStream(content.getBytes()));
//
// // 如果需要上传时设置存储类型和访问权限,请参考以下示例代码。
// //ObjectMetadata metadata = new ObjectMetadata();
// //metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());
// //metadata.setObjectAcl(CannedAccessControlList.Private);
// //putObjectRequest.setMetadata(metadata);
//
// // 上传文件。
// ossClient.putObject(putObjectRequest);
//
// // 关闭OSSClient。
// ossClient.shutdown();
//}
/**
* 上传图片
*/
//public class OssConfig {
// yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
String endpoint = "oss-cn-shenzhen.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "LTAI5tMmZ5osb**********";
String accessKeySecret = "09TEui21PZgE8cc52***********";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 创建PutObjectRequest对象。
// 依次填写Bucket名称(例如examplebucket)、Object完整路径(例如exampledir/exampleobject.txt)和本地文件的完整路径。Object完整路径中不能包含Bucket名称。
// 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。
PutObjectRequest putObjectRequest = new PutObjectRequest("db-losen", "losen-test/lyy2.jpg", new File("C:\\Users\\86199\\Pictures\\lyy2.jpg"));
// 如果需要上传时设置存储类型和访问权限,请参考以下示例代码。
// ObjectMetadata metadata = new ObjectMetadata();
// metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());
// metadata.setObjectAcl(CannedAccessControlList.Private);
// putObjectRequest.setMetadata(metadata);
// 上传文件。
ossClient.putObject(putObjectRequest);
// 关闭OSSClient。
ossClient.shutdown();
}
}
执行后回到阿里云看看有没有数据