网页设计师常逛网站,惠州网站建设是什么意思,重庆网站建设seo公司哪家好,泰安网站建设哪家快前不久刚参加完七牛云举办的第二届1024创作节#xff08;虽然只是我单方面的被各方大佬碾压#xff09; 赛题是网页短视频应用开发#xff0c;要求作品中使用七牛云的相关产品#xff0c;于是我决定分享下七牛云产品的使用#xff08;这么好用的产品很难忍住不想分享的心情… 前不久刚参加完七牛云举办的第二届1024创作节虽然只是我单方面的被各方大佬碾压 赛题是网页短视频应用开发要求作品中使用七牛云的相关产品于是我决定分享下七牛云产品的使用这么好用的产品很难忍住不想分享的心情 主要分享下新手如何快速使用以及仅仅进行想进行测试的小伙伴怎么使用能不产生计费不仔细看文档随便瞎使用可能会产生计费 【温馨提示】要使用下面的产品记得先注册账号绑定邮箱和实名认证哦 安装SDK
七牛云很贴心的帮我们封装好了一个工具包里面提供各种的类和方法来让我们实现快速对接、开发 !--七牛云SDK--
dependencygroupIdcom.qiniu/groupIdartifactIdqiniu-java-sdk/artifactIdversion[7.7.0, 7.10.99]/version
/dependency 对象存储 Kodo
作用文件存储但不仅仅是文件存储kodo可以跟七牛的其他多种产品结合使用实现113的效果 首先要去kodo控制台https://portal.qiniu.com/kodo/bucket?refwww.qiniu.com创建一个存储桶bucketbucket是存储文件的容器
点击新建空间输入空间名称选择一个区域选择公开空间私有也可以刚入门还是公开吧以后还能改
创建完了bucket就可以开始写我们可爱的代码了咦嘻嘻嘻 先给完整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是精髓代表着你存储空间的所在的区域如果填错了会报错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 到此为止一个文件的上传就完成了距离年薪百万又近了一步
最后是计费方面的提醒七牛云上传文件是不计费但是存储量需要计费每月10GB免费存储额度只要不用超过10GB就不会有费用哦