七牛云存储是谁
七牛云的对象存储来实现。在七牛云上个人注册并且实名认证成功后可免费使用储存空间10GB,用于测试是完全足够了。
七牛云存储使用步骤:
1. 准备工作
注册后进行实名认证,通过后可以获得AccessKey以及SecretKey,主要是后面调用接口的时候需要使用。
2.创建存储空间
点击”管理控制台”——> “对象存储”——>”新建存储空间”,并且填入对应的信息。
如果你希望用户在任何情况下都可以直接访问资源,可以直接将空间设为公开。
3.在项目中引入七牛云提供的JAVA-SDK
注意:此 SDK 适用于 Java 7 及以上版本
使用maven的方式引入:
<dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>[7.2.0, 7.2.99]</version> </dependency>
这里的version指定了一个版本范围,每次更新pom.xml的时候会尝试去下载7.2.x版本中的最新版本,不过你也可以手动指定一个固定的版本。
4.使用SDK提供的图片上传工具
七牛文件上传分为客户端上传(主要是指网页端和移动端等面向终端用户的场景)和服务端上传两种场景,具体可以参考官方文档 ,文中使用的是服务端上传的方式。
结合SpringMVC来上传图片到七牛云:
/** * 文件上传工具 */ public class UploadUtil { /** * 上传到七牛云 * @param file 上传的图片 * @return 七牛云中图片的名字 */ public static String uploadQiniu(MultipartFile file) { //构造一个带指定Zone对象的配置类 Configuration cfg = new Configuration(Zone.zone2()); //...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg); //...生成上传凭证,然后准备上传 String accessKey = "你的accessKey"; String secretKey = "你的secretKey"; //存储空间的名字 String bucket = "wolfcode"; //默认不指定key的情况下,以文件内容的hash值作为文件名 String key = null; Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); try { Response response = uploadManager.put(file.getBytes(), key, upToken); //解析上传成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); return putRet.key; } catch (QiniuException ex) { Response r = ex.response; System.err.println(r.toString()); try { System.err.println(r.bodyString()); } catch (QiniuException ex2) { //ignore } } catch (Exception ex) { ex.printStackTrace(); } return null; } }
备注:
1 七牛存储支持空间创建在不同的机房,Zone对象是指定具体哪个机房
2 默认不指定key的情况下,以文件内容的hash值作为文件名,使用hash的好处还可以去除重复图片,重复上传同一张图片,在七牛云中只会占用一个图片的空间。
3 上传成功后的返回的DefaultPutRet对象,里面包含图片的hash值,和图片的key值其实就是文件名。
最后一步,就是访问图片了,打开对象存储空间,可以看到七牛云分配的外链域名,以及上传过的图片,把域名和图片的key值拼接在一起,就是图片的URL了,如:
http://pgd3zoxnk.bkt.clouddn.com/FgaeuBs1QwDZUd9UO4betMtgZOMs

文章标题:七牛云存储是做什么的「七牛云存储使用步骤」
文章链接:https://www.linkedcc.com/rjbk/23211
版权声明(详见页尾):本文内容及图片由互联网用户自发投稿贡献,该文观点仅代表作者本人。