【已解决】OSS配置问题

OSS SDK快速入门_对象存储(OSS)-阿里云帮助中心

阿里官方的SDK使用方法还得配置环境变量access Key、access Secret ,我没有配置,仅把access Key和access Secret写到了yml文件读取,结果上传图片时还是出现下面的问题。  

[ ERROR ] [ com.serein.exception.GlobalExceptionHandler : 31 ] - RuntimeException
com.aliyun.oss.common.auth.InvalidCredentialsException: Access key id should not be null or empty.at com.aliyun.oss.common.auth.DefaultCredentialProvider.checkCredentials(DefaultCredentialProvider.java:63)at com.aliyun.oss.common.auth.DefaultCredentialProvider.<init>(DefaultCredentialProvider.java:38)at com.aliyun.oss.common.auth.DefaultCredentialProvider.<init>(DefaultCredentialProvider.java:34)at com.aliyun.oss.OSSClientBuilder.getDefaultCredentialProvider(OSSClientBuilder.java:83)at com.aliyun.oss.OSSClientBuilder.build(OSSClientBuilder.java:38

解决方法是把BUCKET_NAME、END_POINT 、ACCESS_KEY_ID 、ACCESS_KEY_SECRET直接写死到代码中,如下:

  public static String uploadImageOSS(MultipartFile img) {OSS ossClient= new OSSClientBuilder().build(END_POINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET);if (!ossClient.doesBucketExist(BUCKET_NAME)) {ossClient.createBucket(BUCKET_NAME);CreateBucketRequest createBucketRequest = new CreateBucketRequest(BUCKET_NAME);createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);ossClient.createBucket(createBucketRequest);}//filePath是存到oss的文件名,fileUrl是访问的路径String filePath = createOSSFileName(img.getOriginalFilename());PutObjectRequest putObjectRequest = null;try {putObjectRequest = new PutObjectRequest(BUCKET_NAME, filePath, img.getInputStream());} catch (IOException e) {throw new RuntimeException(e);}PutObjectResult result = ossClient.putObject(putObjectRequest);return  "https://" + BUCKET_NAME + "." + END_POINT + "/" + filePath;}

然后再次上传图片就出现了下面的问题,因为前面填的是OSS内网oss-cn-beijing-internal.aliyuncs.com ,换成oss-cn-beijing.aliyuncs.com外网就ok了

[ WARN  ] [ com.aliyun.oss : 70 ] - [Client]Unable to execute HTTP request: 
Connect to xxxx.oss-cn-beijing-internal.aliyuncs.com:80 
failed: Connection timed out: connect
[ErrorCode]: SocketException
[RequestId]: Unknown

然后图片成功上传到OSS了,但是外部并不能访问,如果拿着url在浏览器查看,会这样

<Error>
<Code>AccessDenied</Code>
<Message>You have no right to access this object because of bucket acl.</Message>
<RequestId>679391585E3414373911E999</RequestId>
<HostId>blog-backend.oss-cn-beijing.aliyuncs.com</HostId>
<EC>0003-00000001</EC>
<RecommendDoc>https://api.aliyun.com/troubleshoot?q=0003-00000001</RecommendDoc>
</Error>

解决方法就是关闭公共访问,并且设置读写权限为公共读,这样编辑器就可以根据url显示出图片了

成功渲染出图片!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7192.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 硬件I2C读写

单片机学习&#xff01; 目录 前言 一、步骤 二、配置I2C外设 2.1 开启I2C外设和GPIO口时钟 2.2 GPIO口初始化为复用开漏模式 2.3 结构体配置I2C 2.4 使能I2C 2.5 配置I2C外设总代码 三、指定地址写时序 3.1 生产起始条件S 3.2 监测EV5事件 3.3 发送从机地址 3.4 …

C语言程序设计十大排序—冒泡排序

文章目录 1.概念✅2.冒泡排序&#x1f388;3.代码实现✅3.1 直接写✨3.2 函数✨ 4.总结✅ 1.概念✅ 排序是数据处理的基本操作之一&#xff0c;每次算法竞赛都很多题目用到排序。排序算法是计算机科学中基础且常用的算法&#xff0c;排序后的数据更易于处理和查找。在计算机发展…

Python网络自动化运维---用户交互模块

文章目录 目录 文章目录 前言 实验环境准备 一.input函数 代码分段解析 二.getpass模块 前言 在前面的SSH模块章节中&#xff0c;我们都是将提供SSH服务的设备的账户/密码直接写入到python代码中&#xff0c;这样很容易导致账户/密码泄露&#xff0c;而使用Python中的用户交…

【后端开发】字节跳动青训营之性能分析工具pprof

性能分析工具pprof 一、测试程序介绍二、pprof工具安装与使用2.1 pprof工具安装2.2 pprof工具使用 资料链接&#xff1a; 项目代码链接实验指南pprof使用指南 一、测试程序介绍 package mainimport ("log""net/http"_ "net/http/pprof" // 自…

【Ubuntu】安装SSH启用远程连接

【Ubuntu】安装OpenSSH启用远程连接 零、安装软件 使用如下代码安装OpenSSH服务端&#xff1a; sudo apt install openssh-server壹、启动服务 使用如下代码启动OpenSSH服务端&#xff1a; sudo systemctl start ssh贰、配置SSH&#xff08;可跳过&#xff09; 配置文件 …

【模拟集成电路】锁相环(phase-locked loops,PLL)设计_环形振荡器相关(简)

0. 前言 未来将会不定时更新PLL相关的文章&#xff0c;主要目的是作为个人的学习笔记&#xff0c;关于锁相环的基础&#xff0c;可以参考《模拟CMOS集成电路设计_Behzad Razavi》后面几章的内容&#xff0c;下面的文章主要参考书籍是的英文书籍《DESIGN OF CMOS PHASE‑LOCKED …

【python】四帧差法实现运动目标检测

四帧差法是一种运动目标检测技术&#xff0c;它通过比较连续四帧图像之间的差异来检测运动物体。这种方法可以在一定的程度上提高检测的准确性。 目录 1 方案 2 实践 ① 代码 ② 效果图 1 方案 具体的步骤如下&#xff1a; ① 读取视频流&#xff1a;使用cv2.VideoCapture…

Spring--SpringMVC使用(接收和响应数据、RESTFul风格设计、其他扩展)

SpringMVC使用 二.SpringMVC接收数据2.1访问路径设置2.2接收参数1.param和json2.param接收数据3 路径 参数接收4.json参数接收 2.3接收cookie数据2.4接收请求头数据2.5原生api获取2.6共享域对象 三.SringMVC响应数据3.1返回json数据ResponseBodyRestController 3.2返回静态资源…

又是一年啊

又是一年 回顾2024一、2024的愿望二、愿望实现了吗&#xff1f;三、总结 展望2025几个愿望~~&#xff08;终于快写完了&#xff09;~~ 华丽结尾 回顾2024 一、2024的愿望 1.CSP-J上岸&#xff1b; 2.小升初上岸&#xff1b; 3.数学进入联赛班&#xff1b; 4.初一期末年级前五…

直线拟合例子 ,岭回归拟合直线

目录 直线拟合,算出离群点 岭回归拟合直线&#xff1a; 直线拟合,算出离群点 import cv2 import numpy as np# 输入的点 points np.array([[51, 149],[122, 374],[225, 376],[340, 382],[463, 391],[535, 298],[596, 400],[689, 406],[821, 407] ], dtypenp.float32)# 使用…

如何解压rar格式文件?8种方法(Win/Mac/手机/网页端)

RAR 文件是一种常见的压缩文件格式&#xff0c;由尤金・罗谢尔&#xff08;Eugene Roshal&#xff09;开发&#xff0c;因其扩展名 “rar” 而得名。它通过特定算法将一个或多个文件、文件夹进行压缩&#xff0c;大幅减小存储空间&#xff0c;方便数据传输与备份。然而&#xf…

【软件测试项目实战 】淘宝网:商品购买功能测试

一、用例设计方法分析 在对淘宝网商品下单功能进行测试时&#xff0c;不同的测试角度和场景适合运用不同的用例设计方法&#xff0c;以下是针对该功能各方面测试所适用方法及其原因的分析&#xff1a; 商品数量相关测试&#xff1a;对于商品数量的测试&#xff0c;主要采用等…

失业ing

零零碎碎记一下unity相关的东西备忘 渲染&#xff1a; https://github.com/festivities/PrimoToon 仿原神的卡通渲染&#xff0c; 参照这种文档&#xff1a; Unity Built-in Shader转URP Shader 接口查询对照表之类的 自己强行改api到urp可用&#xff0c;改了三四天&…

Centos类型服务器等保测评整/etc/pam.d/system-auth

修改服务器配置文件/etc/pam.d/system-auth&#xff0c;但是&#xff0c;把一下配置放在password的配置第一行才会生效 执行命令&#xff1a;配置口令要求&#xff1a;大小写字母、数字、特殊字符组合、至少8位&#xff0c;包括强制设置root口令&#xff01; sed -i 14a pas…

使用LabVIEW的History功能实现队列数据的读取而不清空

在LabVIEW中&#xff0c;有多种方法可以读取队列中的数据而不清空它。使用 Dequeue Element 和 Enqueue Element 函数可以实现读取并重新插入数据回队列&#xff0c;但当需要处理大数据流或需要更动态的解决方案时&#xff0c;这种方法可能会变得繁琐。一个更高效的解决方案是利…

科普篇 | “机架、塔式、刀片”三类服务器对比

一、引言 在互联网的世界里&#xff0c;服务器就像是默默运转的超级大脑&#xff0c;支撑着我们日常使用的各种网络服务。今天&#xff0c;咱们来聊聊服务器家族中的三位 “明星成员”&#xff1a;机架式服务器、塔式服务器和刀片式服务器。如果把互联网比作一座庞大的城市&…

Vivado生成X1或X4位宽mcs文件并固化到flash

1.生成mcs文件 01.在vivado里的菜单栏选择"tools"工具栏 02.在"tools"里选择"生成内存配置文件" 03.配置参数 按照FPGA板上的flash型号进行选型&#xff0c;相关配置步骤可参考下图。 注意&#xff1a;Flash数据传输位宽如果需要选择X4位宽&am…

frida的常用api

1、Hook普通方法、打印参数和修改返回值 Hook函数 Hook代码 function hookTest1(){var utils Java.use("com.zj.wuaipojie.Demo");utils.a.implementation function(str){// a "test";var retval this.a(str);console.log(str , retval);return retva…

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm监控配置

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm监控配置 1.Prometheus部署1.2.Prometheus修改默认端口 2.grafana可视化页面部署3.alertmanager部署4.监控配置4.1.主机监控node-exporter4.2.监控mysql数据库mysqld_exporter4.3.监控mongod数据库mongodb_expo…

Android AOP:aspectjx

加入引用 在整个项目的 build.gradle 中&#xff0c;添加 classpath "com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.10" 可以看到测试demo的 gradle 版本是很低的。 基于 github 上的文档&#xff0c;可以看到原版只支持到 gradle 4.4 。后续需要使…