一·要想使用阿里云oos对象存储 首先要去阿里云官网开通这个服务
点进去开通该服务 根据自己需求填写即可
二·首次开通服务后 它会给你一个AccessKey ID和AccessKey Secret记得保管好
如果丢了的话
在这里可以找回
三·新建一个bucket
四·话不多说上教程和代码
官方教程
阿里java官方教程
自己手撸代码
//上传图片到oss中
@Override
public String uploadFileAvatar(MultipartFile multipartFile) {
String endpoint = ConstantPropertiesUtils.END_POINT;
// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建。
String accessKeyId = ConstantPropertiesUtils.KEY_ID;
String accessKeySecret = ConstantPropertiesUtils.KEY_SECRET;
String bucketName = ConstantPropertiesUtils.BUCKET_NAME;
String filename = multipartFile.getOriginalFilename();
//给文件名添加一个随机的值
String uuid = UUID.randomUUID().toString().replaceAll("-","");
filename = uuid+filename;
//把文件按照日期进行分类
String datePath = new DateTime().toString("yyyy/MM/dd");
filename = datePath+"/"+filename;
InputStream inputStream = null;
try {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 获取上传文件流。
inputStream = multipartFile.getInputStream();
ossClient.putObject(bucketName, filename, inputStream);
// 关闭OSSClient。
ossClient.shutdown();
//把上传后的文件路径返回
//需要把上传到阿里云oss路径手动拼接出来
String url = "https://"+bucketName+"."+endpoint+"/"+ filename;
return url;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
// 删除文件。如需删除文件夹,请将ObjectName设置为对应的文件夹名称。如果文件夹非空,则需要将文件夹下的所有object删除后才能删除该文件夹。
public void deleteFile(String objectName){
String endpoint = ConstantPropertiesUtils.END_POINT;
// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建。
String accessKeyId = ConstantPropertiesUtils.KEY_ID;
String accessKeySecret = ConstantPropertiesUtils.KEY_SECRET;
String bucketName = ConstantPropertiesUtils.BUCKET_NAME;
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 删除文件。如需删除文件夹,请将ObjectName设置为对应的文件夹名称。如果文件夹非空,则需要将文件夹下的所有object删除后才能删除该文件夹。
ossClient.deleteObject(bucketName, objectName);
// 关闭OSSClient。
ossClient.shutdown();
}
注意事项:
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = “https://oss-cn-hangzhou.aliyuncs.com”;
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
String accessKeyId = “”;
String accessKeySecret = “”;
String bucketName = “”;
在pom文件中引入依赖
<!--阿里云oss依赖-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
</dependency>