上手七牛云存储

简介: 早就听说过七牛云存储,终于有时间上手实践。   1、第一步,注册七牛账号,由于是测试,首先申请的是个人账号   2、注册成功之后,默认是体验账号,每月只有1G的空间容量及1G的下载流量         3、账号认证,认证成功之后将升级为标准账号,每月有10G的空间容量及20G的下载流量       虽然认证麻烦了些,但看得出来,七牛还是很良心的,这种免费套餐对于一般的小型网站应用来说应该是足够了 说明一下,认证表单里,有一个“个人网址”的文本框,一开始我以为是空间的自定义域名,后来试了一下,应该就是个人网站地址,可以随便填,不影响使用。

早就听说过七牛云存储,终于有时间上手实践。

 

1、第一步,注册七牛账号,由于是测试,首先申请的是个人账号

 

2、注册成功之后,默认是体验账号,每月只有1G的空间容量及1G的下载流量

     

 

3、账号认证,认证成功之后将升级为标准账号,每月有10G的空间容量及20G的下载流量

     

虽然认证麻烦了些,但看得出来,七牛还是很良心的,这种免费套餐对于一般的小型网站应用来说应该是足够了

说明一下,认证表单里,有一个“个人网址”的文本框,一开始我以为是空间的自定义域名,后来试了一下,应该就是个人网站地址,可以随便填,不影响使用。

 

4、认证成功之后,就可以正式开始使用七牛云了

 

首先需要创建一个存储空间,可以把这个存储空间简单理解为硬盘分区

我创建的存储空间名称是:myBucket,存储区域:华北

其实存储空间只支持小写,如上面我的存储空间创建成功之后就变成了:mybucket

 

然后需要为存储空间绑定一个域名,这个要求拥有自己的可解析并且已备案的国际域名,比如:itez.com.cn

添加域名时,还有一个需要注意的地方,就是”加速域名“后面的文本框中,不要输入根域名,而是要输入最终的子域名,比如:qn.files.itez.com.cn

等一会之后,就会创建一个CNAME,比如:xxx.qiniudns.com

这时登录自己域名的DNS解析管理页面,将”qn.files.itez.com.cn“使用CNAME方式指向到“xxx.qiniudns.com”即可。

 

这时就可以在空间管理中,上传文件到七牛云了,成功后,可以使用上面添加的子域名来访问上传的文件,例如:http://qn.files.itez.com.cn/myLogo.jpg

 

5、开发API

 

在JAVA中集成七牛云,添加引用:

<dependency>
    <groupId>com.qiniu</groupId>
    <artifactId>qiniu-java-sdk</artifactId>
    <version>7.2.10</version>
</dependency>

 

还需要以下相关信息:

1)AccessKey:在七牛云的“个人中心/密钥管理”中可以找到

2)SecretKey:同上

3)存储空间名称:就是在创建存储空间时填写的名称,比如:mybucket

4)存储区域名称:就是在创建存储空间时选择的存储区域,目前有四种:华东、华北、华南、北美

 

示例代码:

//构造一个带指定Zone对象的配置类
Configuration cfg = new Configuration(Zone.zone0());
//...其他参数参考类注释
UploadManager uploadManager = new UploadManager(cfg);
//...生成上传凭证,然后准备上传
String accessKey = "your access key";
String secretKey = "your secret key";
String bucket = "your bucket name";
//默认不指定key的情况下,以文件内容的hash值作为文件名
String key = null;
try {
byte[] uploadBytes = "hello qiniu cloud".getBytes("utf-8");
ByteArrayInputStream byteInputStream=new ByteArrayInputStream(uploadBytes);
Auth auth = Auth.create(accessKey, secretKey);
String upToken = auth.uploadToken(bucket);
try {
    Response response = uploadManager.put(byteInputStream,key,upToken,null, null);
    //解析上传成功的结果
    DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
    System.out.println(putRet.key);
    System.out.println(putRet.hash);
} catch (QiniuException ex) {
    Response r = ex.response;
    System.err.println(r.toString());
    try {
    System.err.println(r.bodyString());
    } catch (QiniuException ex2) {
    //ignore
    }
}
} catch (UnsupportedEncodingException ex) {
//ignore
}

 

更多API详细说明:https://developer.qiniu.com/kodo


宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒
目录
相关文章
|
10月前
|
人工智能 安全 大数据
元宇宙游戏:沉浸式体验的新纪元
在科技飞速发展的今天,元宇宙游戏作为融合了虚拟现实(VR)、增强现实(AR)、人工智能(AI)与区块链等前沿技术的数字新世界,正引领我们进入一个前所未有的沉浸式体验时代。本文将深入探讨元宇宙游戏的特点、技术基础及其如何引领沉浸式体验的新潮流。
|
数据库
面试准备 数据迁移解决方案
【8月更文挑战第8天】
140 7
|
SQL Java 数据库连接
【Java笔记+踩坑】MyBatisPlus基础
MyBatisPlus简介、标准数据层开发CRUD、业务层继承IService、ServiceImpl、条件查询、LambdaQueryWrapper、id生成策略、逻辑删除、乐观锁@Version、代码生成器、ActiveRecord
【Java笔记+踩坑】MyBatisPlus基础
|
JavaScript 前端开发 Python
成功解决:Can‘t find Python executable “python“, you can set the PYTHON env variable.
这篇文章分享了作者在运行前端Vue项目时遇到的关于Python执行环境的问题和解决方法。问题是由于找不到Python可执行文件导致的编译错误,解决方法包括安装编译环境、卸载并重新安装出现问题的`node-sass`包,并重新执行`npm install`和`npm run dev`。
成功解决:Can‘t find Python executable “python“, you can set the PYTHON env variable.
|
传感器 IDE 物联网
arduino
Arduino是一款开源的硬件和软件平台,提供了简单易用的开发工具、开发板和标准接口等,可以用于构建各种互动式的物联网设备和项目。Arduino的主要特点是易用性、开放性、可扩展性和低成本,广泛应用于创客、教育、艺术和工程等领域。
1132 5
|
存储 小程序 API
|
SQL 数据库连接 API
SqlAlchemy 2.0 中文文档(二十八)(5)
SqlAlchemy 2.0 中文文档(二十八)
415 0
|
前端开发
【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果(下)
【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果
267 1
|
前端开发
【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果(中)
【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果
329 1
|
网络协议 网络安全 数据安全/隐私保护
如何在IDEA中使用固定公网地址SSH远程连接服务器开发环境(三)
在IDEA中通过固定公网地址SSH远程连接服务器开发环境,需要配置固定TCP端口以避免地址随机变化。首先,升级cpolar至专业版及以上,然后在官网保留一个固定TCP地址。进入cpolar管理界面,编辑隧道信息,将保留的固定地址填入,更新隧道。最后,在IDEA中新建SSH连接,输入固定地址和端口,验证连接。成功后,即可稳定远程开发。