OSS存储引擎如何使用以及如何添加图片【建议收藏】

Aliyun OSS对象存储,可以用来做文件服务器,存放一些文件,图片等资源,那么我们使用OSS,需要经历以下步骤:

这里就从如何开通OSS服务开始进行,到如何上传一个资源文件到OSS结束。

1、阿里云注册

这里就不谈了,有支付宝账号都可以算。

2、开通OSS对象存储服务器:

  1. 点击对象存储OSS,前往开通

  2. 登录自己的阿里云账号

  3. 登录自己的阿里云账号,进入到控制台:

  4. 在搜索栏中搜索OSS→点击OSS对象存储:

  5. 点击立即开通:

  6. 勾选协议→立即开通,等待几秒钟,就开通完成了:

  7. 开通成功:

  8. 进入到控制台,可以看到OSS对象存储相关的选项:

  9. 到这里,OSS对象存储就已经完成了。

3、创建Bucket

bucket(桶),相当于是一个存储空间,而资源对象就是放到该空间里面,所以我们接下来接着创建一个Bucket空间:

  1. 在Bucket列表→创建Bucket:

  2. 填写相关信息,填写名称之后,存储类型如果做学习用或访问频率不高就选择“低频访问存储”,读写权限采用公共读,这样任何网络都可以去读取文件内容,然后点击确定,

    Endpoint(地域节点)是根据不同地区生成的节点,我们在代码中上传的时候会用到,Bucket 域名 就是该存储空间的访问域名了,用来访问文件的:

  3. 点击确定之后可以看到,创建成功了!
  4. 在Bucket列表也可以看到,是有刚刚创建的Bucket:
  5. 到这里,bucket就创建好了。

4、文件管理

可以在阿里云的OSS控制台直接进行文件上传,我们来试试:

  1. 找到刚刚创建的Bucket→上传文件:

  2. 选择电脑上的文件:

  3. 上传成功提示:

  4. 打开bucket,就可以看到我们刚刚上传的图片

  5. 到这里,通过OSS存储对象存储图片,就已经完成了,更多的操作找到里面的一些按钮就可以完成【比如下载,删除】。

5、AccessKey子账户创建:

我们要在代码里面去对接OSS,就需要使用到子账户,需要去提前准备好一些东西。

要准备好如下4个东西,才能在代码里面对接上OSS:

  • Endpoint(地域节点):oss-cn-beijing.aliyuncs.com ,创建存储空间Bucket时选择不同的地区生成的区域节点

  • 存储空间:temp-bucket-cg , 存储空间的名字

  • AccessKey :创建的文件上传子账户的key

  • Secrect : 创建子账户对应的秘钥

  1. 点击AccessKey管理:

  2. 第一次进来,点击知晓并确定

  3. 接下来,我们选择创建子账户,因为权限会更高:

  4. 在用户界面→创建用户:

  5. 填写信息,勾选OpenAPI调用访问,然后点击确定。

  6. 到这里,子账户就创建好了,访问ID和访问密钥也能看到[复制下来保存好],这两个东西类似于账号密码,妥善保管。

  7. 接下来,我们需要给子账户添加权限,找到用户→自己的子账户→添加权限:

  8. 比如我这里给了一个OSS的管理权限,那么文件的读写就够了

  9. 到这里,关于子账户的创建和权限添加就设置成功了。

总结需要的东西:

  • Endpoint(地域节点):oss-cn-chengdu.aliyuncs.com

  • 存储空间:oss-bucket-test1

  • AccessKey :子账户的key

  • Secrect : 子账户的秘钥

到这里,我们代码编写前的准备都已经ok了,接下来开始准备代码

6、Java接入OSS

首先我们需要引入阿里云提供的关于OSS的SDK(jar包),我们创建一个普通java项目(maven项目就导入对应的pom依赖),导入进来

  1. 可以直接在官网上进行下载:

  2. 导入之后的效果:

  3. 根据文档编写一个简单的文件上传:

    import com.aliyun.oss.OSS;
    import com.aliyun.oss.OSSClientBuilder;
    import com.aliyun.oss.model.PutObjectRequest;
    
    import java.io.File;
    
    /**
     * @Author: xjx
     * @Date: 2024/01/23/15:27
     * @Description: 往阿里云oss存储引擎里面存放图片
     *
     */
    public class OSSAddTest {
        public static void main(String[] args) {
           try {
               //端点,我这里的端点是成都
               String endpoint = "http://oss-cn-chengdu.aliyuncs.com";
    
               //阿里云主账号AccessKeyID(访问ID)、accessKeySecret(访问密钥)
    //        String accessKeyId = "LTAI5t6sqde8e6WtVuceqY5i";
    //        String accessKeySecret = "vslILUVGfW7RGvf2Q2DIfoAE4fqdFE";
               String accessKeyId = "你的访问accessKey";
               String accessKeySecret = "你的秘钥";
    
               //根据提供的信息创建OSSClient(oss客户端)实例
               OSS ossClient = new OSSClientBuilder().
                       build(endpoint, accessKeyId, accessKeySecret);
    
               //创建好对象后,往oss里面添加图片,创建添加对象【bucketName:桶名,key:添加之后的名字(名字一样会覆盖原图片),第三个参数是本地图片地址】
               PutObjectRequest putObjectRequest = new PutObjectRequest("oss-bucket-test1", "a.png",
                       new File("C:\\Users\\d\\Pictures\\00004-3806264314.png"));
    
               //执行上传
               ossClient.putObject(putObjectRequest);
    
               //用完之后,关闭OSS客户端
               ossClient.shutdown();
    
               System.out.println("文件上传成功!");
           }catch (Exception e){
               e.printStackTrace();
           }
        }
    }
    
  4. 运行后java控制台:

  5. OSS的Bucket里面:

到这里,成功通过java代码将图片上传到OSS里面,后续更多操作详情请看官方文档:PutObject_对象存储(OSS)-阿里云帮助中心 (aliyun.com)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第二百八十四回

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了下拉刷新组件相关的内容,本章回中将介绍WillPopScope组件.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在本章回中介绍的WillPopScope组件是一种事件拦截类组件,它没有具体…

Redis服务端优化(持久化配置、慢查询、命令及安全配置、内存配置)

文章目录 持久化配置慢查询命令及安全配置内存配置 持久化配置 慢查询 命令及安全配置 漏洞:Redis未授权访问配合SSH key文件利用分析-腾讯云开发者社区-腾讯云 (tencent.com) 漏洞出现的核心的原因有以下几点 Redis未设置密码利用了Redis的config set命令动态修…

UI自动化测试框架搭建 —— yaml文件管理定位元素

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

【C++】list的使用

目录 1 构造1.1 无参构造1.2 构造的list中包含n个值为val的元素1.3 用[first, last)区间中的元素构造list1.4 拷贝构造 2 迭代器的使用2.1 begin end2.2 rbegin rend 3 容量操作3.1 empty size 4 获取元素4.1 front back 5 插入、删除、修改5.1 头插-push_front和尾插-push…

聊聊呼声较高的向量过滤搜索及其优化

向量过滤搜索是一种基于条件的向量搜索方法,常用于推荐系统和信息检索等领域,能够帮助用户快速找到在给定条件下与其查询相关的内容。 在 Milvus 社区中,这也是呼声比较高的功能。为满足广大用户的需求,Milvus 在 Knowhere 2.x 版…

Mysql的骚操作说明

Mysql的常规操作 记录些不常用,但是很实用的操作,旨在在MySQL语言能解决的批量操作的问题,不动用其他动态或静态语言的辅助。 1、FROM_UNIXTIME 时间戳转时间格式 select scode,sid,gender,type,FROM_UNIXTIME(report_time) as report_time,FROM_UNIXTIME(add_time) as add…

智慧博物馆信息化系统建设(1)

博物馆RFID藏品管理系统 博物馆藏品保管是一项十分复杂又繁琐的工作。从事保管工作除了经常、及时地进行藏品的登记、分类、编目、保养和修复等一系列工作外,还需要把有关藏品的信息迅速、正确地提供给利用者。要提高保管工作的效率,达到现代化的科学管理,从发展趋势看,进…

Unity之Timeline教程

前言 Unity Timeline是Unity的一种时间轴编辑器工具,用于制作和管理游戏中的动画、剧情以及事件触发。它提供了直观的界面,使得开发者可以通过拖放操作轻松创建和编辑时间轴。 Timeline的使用 创建新的Timeline 在Unity中,选择菜单栏的 Wi…

142基于matlab的移动力过简支梁程序

基于matlab的移动力过简支梁程序,算法采用newmark-belta法,输出简支梁,求解静力位移,自振特性,动力特性。可调节简支梁参数。程序已调通,可直接运行。 142 matlab简支梁自振特性 (xiaohongshu.com)

MPU6050传感器—姿态检测

本节主要介绍以下内容: 姿态检测的基本概念 姿态传感器的工作原理及参数 MPU6050传感器介绍 实验:获取MPU6050原始数据 实验:移植官方DMP例程 一、姿态检测基本概念 1.1 姿态 在飞行器中,飞机姿态是非常重要的参数&#x…

【MATLAB基础绘图第20棒】云雨图

MATLAB绘制云雨图 云雨图(Raincloud plots)MATLAB绘制云雨图横向云雨图竖向云雨图 参考 云雨图(Raincloud plots) 云雨图(Raincloud plots)其实是可以看成核密度估计曲线图、箱形图和抖动散点图的组合图,清晰、完整、美观地展示了所有数据信…

随机森林中每个树模型分裂时的特征选取方式

随机森林中每个树模型分裂时的特征选取方式 随机森林中每个树模型的每次分裂都是基于随机选取的特征子集进行分裂的。 具体来说,对于每个决策树,在每个节点的分裂过程中,随机森林算法会从原始特征集合中随机选择一个特征子集,然…

SpringBoot:Bean生命周期自定义初始化和销毁

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java项目分享》 《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 文章目录 前言一、Bean注解指…

Android:JNI实战,理论详解、Java与Jni数据调用

一.概述 上一篇博文讲解了如何搭建一个可以加载和链接第三方库、编译C/C文件的Jni Demo App。 这篇博文在这个Jni Demo App的基础上,从实战出发详细讲解 Jni 开发语法。 接下来,先用一小节将Jni开发比较重要的理论知识点过一下,然后进行代…

深入解析Python中的break、continue和pass语句

在Python编程中,控制流语句是一种常见的工具,用于控制程序的执行顺序和流程。其中,break、continue和pass语句是控制循环的重要组成部分。本文将深入解析Python中的break、continue和pass语句,包括其基本语法、应用场景和最佳实践…

万字长文详解Java线程池面试题

王有志,一个分享硬核 Java 技术的互金摸鱼侠 加入 Java 人的提桶跑路群:共同富裕的Java人 今天是《面霸的自我修养》第 6 篇文章,我们一起来看看面试中会问到哪些关于线程池的问题吧。数据来源: 大部分来自于各机构(J…

【数据分享】2023年我国省市县三级的住宿服务设施数量(Excel/Shp格式)

宾馆酒店、旅馆招待所等住宿服务设施的配置情况是一个城市公共基础设施完善程度的重要体现,一个城市住宿服务设施种类越丰富,数量越多,通常能表示这个城市的公共服务水平越高! 本次我们为大家带来的是我国各省份、各地级市、各区…

38-WEB漏洞-反序列化之PHPJAVA全解(下)

WEB漏洞-反序列化之PHP&JAVA全解(下) 一、Java中API实现二、序列化理解三、案例演示3.1、本地3.2、Java 反序列化及命令执行代码测试3.3、WebGoat_Javaweb 靶场反序列化测试3.4、2020-网鼎杯-朱雀组-Web-think_java 真题复现 四、涉及资源 一、Java中…

LLM + RecSys 初体验(上)

最近在逛小红书的时候,发现了一个新的GPU算力租赁平台,与AutoDL和恒源云等平台类似。正巧,官网有活动,注册即送RTX 4090三个小时,CPU 5 小时。正巧最近在测试 LLM推荐系统的 OpenP5 平台,果断入手测试! 用…

【Android】细数Linux和Android系统中的伪文件系统

文章目录 前言Linux伪文件系统cgroupfsLinux的cgroupsAndroid的cgroups debugfsfunctionfs(/dev/usb-ffs/adb)functionfs 的引入sysfs是什么 procfs(/proc)pstore(/sys/fs/pstore)selinuxfs(/sys/fs/selinux)sysfs(/sys)参考 前言 做了好些年Android开发,你了解过L…