七牛云产品使用介绍之kodo篇

        前不久刚参加完七牛云举办的第二届1024创作节(虽然只是单方面的被各方大佬碾压)

        赛题是网页短视频应用开发,要求作品中使用七牛云的相关产品,于是我决定分享下七牛云产品的使用(这么好用的产品很难忍住分享的心情😝😝😝)

        主要分享下新手如何快速使用,以及仅仅进行想进行测试的小伙伴怎么使用会不产生计费,不仔细看文档随便瞎使用可能会产生计费的哦

要使用下面的产品记得先注册账号,绑定邮箱和实名认证哦

安装SDK

七牛云很贴心的帮我们封装好了一个工具包,里面提供各种的方便的类和方便方便我们快速开发

<!--七牛云SDK-->
<dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>[7.7.0, 7.10.99]</version>
</dependency>

对象存储 Kodo

作用:文件存储,但不仅仅是文件存储,kodo可以跟下面介绍的3种服务配合使用,实现1加1加1加1等于1024的效果

使用的话先去kodo的控制台创建一个存储桶(bucket),bucket是存储你文件的容器

来到kodo控制台:https://portal.qiniu.com/kodo/bucket?ref=www.qiniu.com

点击新建空间,输入空间名称,选择一个区域,选择公开空间(私有也可以,刚入门还是公开吧,以后还可以改)

创建完了空间,就可以开始写我们可爱的代码了,咦嘻嘻嘻

先给demo代码,再解释含义

public class UploadToQiniu {String bucket = "bucket名";String AccessKey = "你的ak";String SecretKey = "你的sk";Auth auth = Auth.create(AccessKey, SecretKey);// 文件上传@Testpublic void uploadV2() {Configuration cfg = new Configuration(Region.region2());cfg.resumableUploadAPIVersion = Configuration.ResumableUploadAPIVersion.V2;cfg.useHttpsDomains = true;cfg.resumableUploadMaxConcurrentTaskCount = 3;String localFile = "/Users/lixianhe/Downloads/86dac233-65d5-4b38-b40f-cb23dd618489.jpg";InputStream is = null;try {is = new FileInputStream(localFile);} catch (FileNotFoundException e) {e.printStackTrace();}String key = "a.png";String upToken = auth.uploadToken(bucket, key, 3600L, null);UploadManager uploadManager = new UploadManager(cfg);Response response;try {response = uploadManager.put(is, key, upToken, null, null);// 解析上传成功的结果DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);System.out.println("key: " + putRet.key);System.out.println("hash: " + putRet.hash);} catch (QiniuException e) {System.out.println(e.response.toString());}}
}

接下来逐行解释代码

String bucket = "bucket名";
String AccessKey = "你的ak";
String SecretKey = "你的sk";
Auth auth = Auth.create(AccessKey, SecretKey);

首先:bucket = <你刚才创建存储空间的名称>

那下面的ak和sk又是啥呢?怎么获取呢?

答:ak和sk是生成鉴权的,ak、sk非常重要,不能泄露给别人,如果泄露意味着你账号的最高权限泄露,别人可以拿着你的ak、sk疯狂调用七牛的服务,而费用算在你头上

获取ak、sk的位置在这里:https://portal.qiniu.com/developer/user/key

Auth对象生成,参数传入了ak和sk,也就是这个Auth代表着你的账号

Configuration cfg = new Configuration(Region.region2());
// 指定分片上传版本为V2
cfg.resumableUploadAPIVersion = Configuration.ResumableUploadAPIVersion.V2;
// 设置分片上传并发,1:采用同步上传;大于1:采用并发上传
cfg.resumableUploadMaxConcurrentTaskCount = 3;

这个是配置对象,创建配置对象的使用,传入参数Region.region2()

【重点】:这个region2是精髓,代表着你存储空间的所在的区域,如果填错了,也及时你的空间和填写的region不匹配,会报错incorrect region,一定确认区域正确

华东Region.region0(), Region.huadong()
华北Region.region1(), Region.huabei()
华南Region.region2(), Region.huanan()
北美Region.regionNa0(), Region.beimei()
东南亚Region.regionAs0(), Region.xinjiapo()
String localFile = "/Users/lixianhe/Downloads/86dac233-65d5-4b38-b40f-cb23dd618489.jpg";
InputStream is = null;
try {is = new FileInputStream(localFile);
} catch (FileNotFoundException e) {e.printStackTrace();
}

这个比较容易理解,将本地文件转为字节流

String key = "a.png";
String upToken = auth.uploadToken(bucket, key, 3600L, null);

【重点】:生成上传token

我们定睛一看,这个方法是Auth对象里面的方法,也就是生成这个token需要使用ak、sk

uploadToken的四个参数分别是:bucket名称,key名称,上传的token的有效期,上传策略

bucket我们了解了,key又是啥呢?key就是全路径(目录+文件名),也就是文件在存储空间的唯一标识

第三个参数:比较好理解,你生成的上传token只在有效期内可以使用,也就是超过这个时间token失效,单位秒

第四个参数:虽然我传的是null,但是这个参数"非常非常非常强大",不详细说了,叫上传策略

详细看:https://developer.qiniu.com/kodo/1206/put-policy

UploadManager uploadManager = new UploadManager(cfg);
Response response;
try {response = uploadManager.put(is, key, upToken, null, null);// 解析上传成功的结果DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);System.out.println("key: " + putRet.key);System.out.println("hash: " + putRet.hash);} catch (QiniuException e) {System.out.println(e.response.toString());
}

创建 UploadManager 对象,传入配置类,put方法:是真正执行上传的方法

Response对象,上传请求的响应的对象

DefaultPutRet对象,上传会默认返回hash和key,通过这个对象解析hash和key

到此为止,一个文件的上传就完成了,距离年薪百万又近了一步

内容分发网络 CDN

还未编写,点赞可催更哦

智能多媒体 Dora

还未编写,点赞可催更哦

内容审核

还未编写,点赞可催更哦

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

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

相关文章

qlik为app添加定时调度

1&#xff0c;进入qmc/Apps 2&#xff0c;搜索需要添加调度的APP 3&#xff0c;搜索到后双击点开Tasks 4&#xff0c;新增Tasks---点击Create New 5&#xff0c;添加调度器 6&#xff0c;设置调度&#xff0c;双击新增的调度&#xff0c;注意选择时区

# 学习 Prolog 和 离散逻辑的16个等价公式:一趟有趣的逻辑之旅

Prolog 的语法很奇怪,需要一些时间来适应,所以我花了点时间,想用Prolot来学习和验证离散逻辑的16组等价公式。 1. 双重否定律 (Double Negation Law) A ⇔A 首先&#xff0c;我们来看看双重否定律。在 Prolog 中&#xff0c;我们可以这样验证它&#xff1a; fun1(A,Z):-memb…

银河麒麟安装Docker

# 配置阿里云 Centos8 镜像源&#xff0c;需要额外的一些依赖&#xff0c;而这些依赖在麒麟官方的源里面是没有的 sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo# 配置阿里云 docker 镜像源 sudo yum-config-manager --add-r…

【老文新发】Otsu大津法详解及python实现

原文&#xff1a;A Threshold Selection Method from Gray-Level Histograms A Fast Algorithm for Multilevel Thresholding 前言 大津法包含两个重要的概念&#xff1a;类间方差&#xff08;between-class variance&#xff09;和类内方差&#xff08;within-class varianc…

CRM商机管理软件:构建客户为中心的管理理念

企业为什么选择CRM商机管理软件&#xff1f;1.CRM软件能够帮助企业建立以客户为中心的管理理念&#xff1b;2.CRM商机管理软件全面直观的展示客户数据&#xff1b;3.市场人员可以制订个性化的营销策略&#xff1b;4.移动应用为外出的销售带来的便利。 1.构建客户为中心的管理理…

2023年中国雷达设备市场规模及市场份额分析[图]

雷达设备行业是一种利用无线电波对目标进行探测和定位的技术&#xff0c;也被称为无线电探测和定位。雷达通过发射电磁波对目标进行照射并接收其回波&#xff0c;经波形处理后获取目标的位置和速度等信息。雷达具有探测距离远&#xff0c;测定精度高&#xff0c;不受天气和地形…

Motion Plan之搜索算法笔记

背景&#xff1a; 16-18年做过一阵子无人驾驶&#xff0c;那时候痴迷于移动规划&#xff1b;然而当时可学习的资料非常少&#xff0c;网上的论文也不算太多。基本就是Darpa的几十篇无人越野几次比赛的文章&#xff0c;基本没有成系统的文章和代码讲解实现。所以对移动规划的认…

迅为RK3568开发板学习之Linux驱动篇第十三期输入子系统

驱动视频全新升级&#xff0c;并持续更新~更全&#xff0c;思路更科学&#xff0c;入门更简单。 迅为基于iTOP-RK3568开发板进行讲解&#xff0c;本次更新内容为第十三期&#xff0c;主要讲解输入子系统&#xff0c;共计24 讲。 关注B站&#xff1a;北京迅为电子&#xff0c;在…

uboot移植-野火imx6ull

uboot移植及LCD和网络驱动设置 环境&#xff1a; Ubuntu 20.04 野火imx6ull pro开发板 tftp服务的搭建 IMX6ULL开发板参考的是NXP官方的I.MX6ULL EVK开发板做的硬件。 Linux的移植要复杂的多&#xff0c;在移植Linux之前我们需要先移植一个 bootloader 代码&#xff0c;这…

CPSC发布关于亚马逊含有纽扣电池或硬币电池产品的相关规则标准!UL4200A

2023年9月21日&#xff0c;美国消费品安全委员会&#xff08;CPSC&#xff09;在《联邦公报》上发布了纽扣及硬币电池及相关产品的最终规则&#xff08;DFR&#xff09;16 CFR 1263&#xff0c;以保护6岁以下儿童免受电池摄入危害。DFR将于2023年10月23日生效&#xff0c;除非消…

赛氪荣幸受邀参与中国联合国采购促进会第五次会员代表大会

11 月21 日 &#xff08;星期二&#xff09; 下午14:00&#xff0c;在北京市朝阳区定福庄东街1号中国传媒大学&#xff0c;赛氪荣幸参与中国联合国采购促进会第五次会员代表大会。 2022年以来&#xff0c;联合国采购杯全国大学生英语大赛已经走上了国际舞台&#xff0c;共有来自…

替换的DLL用户电脑报错加载失败

编译后混淆加签名的dll 远程下载下来有个选项&#xff1a; 在某用户电脑上出现加载失败的报错 右键dll 属性里勾选解除锁定后 加载运行正常 跟用户电脑安全策略有关系 有的会出现 大部分不会