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

news2024/11/25 14:45:10

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.coloradmin.cn/o/1405509.html

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

相关文章

最新AI系统ChatGPT网站系统源码,支持AI绘画,GPT语音对话,ChatFile文档对话总结,DALL-E3文生图,MJ绘画局部编辑重绘

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧。已支持GPT…

Python中==和is有什么区别

是比较两个对象的内容是否相等,即两个对象的“值”是否相等,不管两者在内存中的引用地址是否一样。 is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同。即is比较两个条件:1.内容相…

LeetCode670.最大交换

我真的怀疑他是不是难度等级评错了,因为感觉没到中级,总之先看题吧 给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7。示例 2 : 输入: 9973 输出:…

数字拆分--完全背包问题

一、题目 https://acm.ecnu.edu.cn/problem/3034/ 二、思路 本来算法就很弱,加上很久没刷题,做这道题真的是一言难尽~ 一开始我以为是找规律写递推式,写到f(9)的时候就觉得不对劲,又想了一会,还是没想到&#xff0…

【Linux配置yum源以及基本yum指令】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、yum是什么? 二、什么是软件包? 三、三种安装软件包的方式 四、yum的相关操作 4.1、搜索软件 4.2、安装软件 4.3、卸载软件 4.4、那…

Python | 七、栈 Stack、队列 Queue

栈的基础知识 是一种数据结构,在Python中常使用列表来模拟实现特点:先进后出 栈的基本操作 因为Python中通过列表模拟实现栈,所以以下的基本操作实际是列表的一些操作获取长度,使用len(stack)方法进栈,使用stack.app…

Element组件完整引入、按需引入、样式修改(全局、局部)、简单安装less以及npm命令证书过期等

目录 一、npm 安装二、完整引入三、按需引入四、样式修改1.按需加载的全局样式修改2. 局部样式修改1. 在 css 预处理器如 less scss 等直接使用::v-deep2. 只能用在原生 CSS 语法中:/deep/ 或者 >>> 五、 拓展:npm 安装less报错,提示证书过期六…

使用Go语言编写简单的HTTP服务器

在Go语言中,我们可以使用标准库中的"net/http"包来编写HTTP服务器。下面是一个简单的示例,展示了如何使用Go编写一个基本的HTTP服务器。 go复制代码 package main import ( "fmt" "net/http" ) …

红黑树浅浅学习

红黑树浅浅学习 红黑树概念红黑树平衡性调整 红黑树概念 二叉树:二叉树是每个节点最多有两个子树的树结构。二叉查找树:又称“二叉搜索树”,左孩子比父节点小,右孩子比父节点大,还有一个特性就是”中序遍历“可以让结…

机器学习实验报告——Bayes算法

目录 一、算法介绍 1.1算法背景 1.2算法假设 1.3 贝叶斯与朴素贝叶斯 1.4算法原理 二、算法推导 2.1朴素贝叶斯介绍 2.2朴素贝叶斯算法推导 2.2.1先验后验概率 2.2.2条件概率公式 2.3 独立性假设 2.4 朴素贝叶斯推导 三、算法实现 3.1数据集描述 3.2代码实现 四…

python04-变量命名规则

python需要使用标识符来给变量命名。 标识符,我来解释下,就是给程序中变量、类、方法命名的符号,简单理解就是起一个名字,这个名字必须是合法的名字, 对于Python来说,标识符必须是以字母、下划线(_)开头&…

性能优化-高通的Hexagon DSP和NPU

原文来自【 Qualcomm’s Hexagon DSP, and now, NPU 】 本文主要介绍Qualcomm Hexagon DSP和NPU,这些为处理简单大量运算而设计的硬件。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能&#xf…

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07-2 动态规划 Dynamic Programming

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-2 动态规划 Dynamic Programming 1. 基本概念2. 代码详解3. 简单一维案例 1. 基本概念 Richoard Bell man 最优化理论: An optimal policy has the …

Python + Selenium —— 常用控制方法!

Selenium 体系中用来操作浏览器的 API 就是 WebDriver,WebDriver 针对多种语言都实现了一套 API,支持多种编程语言。 Selenium 通常用来做自动化测试,或者编写网络爬虫。 通常我们说的 Selenium 自动化操作,指的就是 WebDriver …

LLM:RoPE - 开源代码中的实现 (下)

本文着重学习一下开源代码中关于RoPE的实现:ChatGLM-6B、ChatGLM2-6B、LLAMA 回顾一下RoPE位置编码: 1:对于 token 序列中的每个词嵌入向量,首先计算其对应的 query 和 key 向量 2:然后对每个 token 位置都计算对应的旋转位置编码 3:接着对每个 token 位置的 query 和 …

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

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

通过Stable Diffusion生成虚假的遥感影像

简介 这两天玩了一下stable diffusion,是真的好玩! 然后我在想遥感有没有相关的生成模型,找了一下,还真找到了(https://github.com/xiaoyuan1996/Stable-Diffusion-for-Remote-Sensing-Image-Generation/tree/main&a…

COT元素

论文首先定义了思维链中的两种核心元素 Bridge Object: 模型解决问题所需的核心和必须元素。例如数学问题中的数字和公式,QA问题中的实体,有点类似把论文1中pattern和symbol和在了一起,感觉定义更清晰了 Language Template:除去B…

跨平台实用软件推荐

现代工作环境下,每个人都需要高效管理时间、任务和信息流来提高生产力和实现目标。为了帮助您更有效地管理工作流程,我们为您推荐了以下几款实用的跨平台软件。 1.亿可达:是一款连接不同应用功能的超级软件连接器。它可以将不同的应用程序进行…

《WebKit 技术内幕》学习之九(1): JavaScript引擎

1 概述 1.1 JavaScript语言 说起JavaScript语言,又要讲一个典型的从弱小到壮大的奋斗史。起初,它只是一个非常不起眼的语言,用来处理非常小众的问题。所以,从设计之初,它的目标就是解决一些脚本语言的问题&#xff…