OSS申请和配置及springboot整合的使用方法
OSS申请和配置
1、注册登录
输入网址:https://www.aliyun.com/product/oss
2.开通以及配置
点击立即开通
进入管理控制台
第一次使用会出现引导,按引导点击“我知道了”,然后点击创建Bucket。
如果没有存储包或流量包点击购买。
点击确定,返回主页面,出现该页面,点击我知道了
点击确定,返回主页面,出现该页面,点击我知道了
将EndPoint记录下来,方便后期添加到我们项目的配置文件中
创建 AccessKeyID 和 AccessKeySecret
点击创建Access key,第一次需要短信验证,验证成功后弹出
保留Access key 以及 AccessKeySecret 信息
springboot整合使用
进入我们springboot的项目中
public static String testUpdateOss(String fileUrl) throws IOException {
// Endpoint以深圳为例,其它Region请按实际情况填写。
String endpoint = "https://oss-cn-shenzhen.aliyuncs.com";
// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建。
String accessKeyId = "";
String accessKeySecret = "";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 上传文件流。
InputStream inputStream = null;
try {
inputStream = new FileInputStream("F:\\image2.png");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println(ossClient);
PutObjectRequest putObjectRequest = new PutObjectRequest("springbootum-oss", "txBlog/image.png",inputStream);
// 上传回调参数。
Callback callback = new Callback();
//回调路径
callback.setCallbackUrl("http://**.**.**.**:1234/test/redisShowUser");
// 设置发起回调时请求body的值。
callback.setCallbackBody("bucket:${bucket}&object=${object}");
// 设置发起回调请求的Content-Type。
callback.setCalbackBodyType(Callback.CalbackBodyType.URL);
putObjectRequest.setCallback(callback);
PutObjectResult putObjectResult = ossClient.putObject(putObjectRequest);
// 读取上传回调返回的消息内容。
byte[] buffer = new byte[1024];
putObjectResult.getResponse().getContent().read(buffer);
// 数据读取完成后,获取的流必须关闭,否则会造成连接泄漏,导致请求无连接可用,程序无法正常工作。
putObjectResult.getResponse().getContent().close();
//成功后会返回图片的url
String ss = putObjectResult.getResponse().getUri();
System.out.println(ss);
//将路径存储数据库
if(ss!=null){
System.out.println("成功");
}else{
System.out.println("失败");
}
// 关闭OSSClient。
ossClient.shutdown();
return ss;
}
}