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)

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

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

相关文章

贪心算法详解

文章目录 前言一、什么是贪心算法二、贪心算法的特点1.贪心策略的提出2.贪心策略的正确性 三、学习贪心算法的方向总结 前言 在本次文章中我们将会详细介绍贪心算法的相关内容 一、什么是贪心算法 贪心算法:在解决问题时,每一步都选择最优解&#xff0…

Linux:vim的相关知识

目录 vim 是一个较为常见的编译文件的命令操作。 三种模式的区分的作用如下: 命令模式: 插入模式: 进入插入模式的标志:左下角有INSERT 底行模式: 命令模式的常见命令: 底行模式常见命令&#xff1…

初识k8s(概述、原理、安装)

文章目录 概述由来主要功能 K8S架构架构图组件说明ClusterMasterNodekubectl 组件处理流程 K8S概念组成PodPod控制器ReplicationController(副本控制器)ReplicaSet (副本集)DeploymentStatefulSet (有状态副本集&#…

借助GPT,我是如何帮同事秒解bug

背景 昨天晚上8点多,正准备下班 同事突然跑过来,问我:为什么用aws命令行下载的数据可以正常下载,但是我用Go写的,怎么下载不下来 看他抓耳挠腮,然后又说困扰了很久 我心想这么简单的问题,额。。…

系统性学习vue-vue-router

vue-router 路由的简介SPA路由 路由的基本使用安装引入使用标签式编程式 注意 嵌套(多级)路由路由传参query参数params参数 命名路由路由的props配置router-link的replace属性编程式路由导航路由跳转后退和前进 缓存路由组件两个新的生命周期钩子函数路由守卫全局前置守卫全局后…

让二叉树无处可逃

志不立,天下无可成之事。 ——王阳明 二叉树 1、树?什么是树1、1、基本概念1、2、树的相关概念1、3、树的表示方式1、4、树的实际运用 2、二叉树?只有两个分支吗?2、1、基本概念2、2、二叉树的相关定义2、3、二叉树的相关性质2、4…

C++: vector

目录 1.vector的介绍 2.vector常用的接口 1.vector构造 2.迭代器iterator的使用 3.vector空间增长 4.vector的增删改查 3.vector模拟实现 如果在reverse时使用memcpy会怎么样? 1.vector的介绍 C中的vector是一个动态数组容器,可以存储任意类型的…

simulink限幅模块-Saturation

限幅模块 限幅模块(Saturation)对输出值施加了上下限约束。当输出值超过上限时,限定于上限值输出;当输出值低于下限时,限定于下限值输出;在上下限之间时,保持原输出。Saturation模块默认包含一…

网络安全--防御保护02

第二天重要的一个点是区域这个概念 防火墙的主要职责在于控制和防护---安全策略---防火墙可以根据安全策略来抓取流量之后做出对应的动作 防火墙的分类: 单一主机防火墙:专门有设备作为防火墙 路由集成:核心设备,可流量转发 分…

为什么单片机不能直接驱动继电器和电磁阀?

为什么单片机不能直接驱动继电器和电磁阀? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!&…

vue3源码(一)搭建开发环境

Monorepo:是管理项目代码的一个方式,指在一个项目仓库(repo)中管理多个模块/包(package) vue3源码采用Monorepo管理项目 vue3项目架构 搭建Monorepo环境 1.全局安装pnpm npm install pnpm -g # 全局安装pnpm pnpm init -y # 初始化配置文件创建.npmrc文件&#x…

Docker基础语法

目录 一.docker安装 二.docker基础名词 三.docker基础命令 四.命令别名 五.数据卷 六.挂载本地目录或文件 七.Docker镜像 八.网络 一.docker安装 1.安装yum工具 yum install -y yum-utils device-mapper-persistent-data lvm2 2.安装 docker yum源 yum-config-manag…

EXECL 单元格字符串链接 CONCAT :应用:将一行数据转为json

源: 目标 函数表示 CONCAT("data", CHAR(10), "{", CHAR(10), " ", "ulAlarmId : ", A5, CHAR(10), " ", "ulAlarmLevel : ", D5, CHAR(10)," ", "bBo…

JavaEE-微服务-Vuex

Vuex 2.1 什么是Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。 Vuex在组件之间共享数据。 2.2 使用 vue cli 构建项目 2.3 入门案例 2.3.1 定义数据 export default new Vuex.Store({state: { // 状态区域(定义变量区域)user: ,toke…

Ubuntu Desktop 隐藏 / 显示文件和文件夹

Ubuntu Desktop 隐藏 / 显示文件和文件夹 1. GUI hot key2. Show hidden and backup filesReferences 1. GUI hot key Ctrl H: 隐藏 / 显示文件和文件夹 2. Show hidden and backup files Edit -> Preferences -> Views References [1] Yongqiang Cheng, https://yo…

梳理Langchain-Chatchat知识库API接口

一.Langchain-Chatchat 知识库管理 1.Langchain-Chatchat 对话和知识库管理界面 Langchain-Chatchat v0.28 完整的界面截图,如下所示: 2.知识库中源文件和向量库 知识库 test 中源文件和向量库的位置,如下所示: 3.知识库表结构 k…

一夜暴增200城,智驾开城秘诀在哪?小鹏、理想、大疆等各有不同

作者 |Marshall 编辑 |祥威 一夜过后,城市NOA可用范围突然增至两百多城市,这是最近小鹏的智驾给大家的印象。 我们曾在「特斯拉、小鹏开路,城市NOA距好用还有几年?」一文中,探讨了城市NOA落地过程中所面临的地图问题…

vue3-组件基础

什么是组件 组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对每个部分进行处理。在实际应用中,组件常常被组织成层层嵌套的树状结构。 定义一个组件 我们一般会将 Vue 组件定义在一个单独的 .vue 文件中,这被叫做单文件组件 (简称…

TypeScript 实用技巧(中)

十四、向类型添加特殊值 原文:exploringjs.com/tackling-ts/ch_special-values.html 译者:飞龙 协议:CC BY-NC-SA 4.0 14.1 在带内添加特殊值 14.1.1 向类型添加 null 或 undefined 14.1.2 向类型添加符号 14.2 在带外添加特殊值 14.2…

[亲测有效]CentOS7下安装mysql5.7

前言 近期项目需要搭配mysql一起存储相关数据,但对mysql的版本有要求,于是在服务器搭建了mysql5.7,顺便记录一下搭建步骤和踩坑解决步骤。 目录 前言 一、清除旧安装包 二、安装YUM 三、使用yum命令即可完成安装 四、重新设置密码 五、…