自己做项目使用的是一台阿里云最便宜的服务器,存储空间只有40G,静态资源和动态资源都放在一起。听说七牛云存储注册认证即送10G的免费存储,想着把静态资源放在七牛云上,分担一下阿里云服务器的存储压力。
第一步:
1.注册
2.实名认证
3.创建存储空间
第二步:
1.查看javascript-sdk:
根据要求,需要三样信息:
* AccessKey和SecretKey:这两个在七牛云的(控制台->个人中心->密钥管理)获得
* token:根据要求要服务端SDK生成,下面介绍
2.查看java-sdk:
a.导入maven依赖:
<dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>7.2.11</version> </dependency>
b.获取token:
* 这里上传凭证就是token。
* AccessKey和SecretKey已经有了。
* Bucket就是创建的存储空间的名字。
String accessKey = "access key"; String secretKey = "secret key"; String bucket = "bucket name"; Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); System.out.println(upToken);
* upToken:就是所要获取的token,传给前端
3.前端上传:
a.引入脚本
<script src="https://unpkg.com/qiniu-js/dist/qiniu.min.js"></script>
b.开始上传
//参数介绍 // file:就是要上传的文件 // key:文件名(带后缀名),如果上传空间中已经存在此文件名,则上传会失败 // token:就是后端生成的token // putExtra:入门阶段不用关心,传个 {} 就行 // config:入门阶段不用关心,传个 {} 就行 var observable = qiniu.upload(file, key, token, putExtra, config) //参数介绍 // next:函数类型参数,带有一个参数,上传过程中执行该函数,根据函数参数可以知道文件上传了多少 // error:函数类型参数,带有一个参数,上传失败执行该函数,函数参数为上传失败返回值 // complete:函数类型参数,带有一个参数,上传成功执行该函数,函数参数为上传成功返回值 var subscription = observable.subscribe(next, error, complete)
至此就能成功上传至七牛云存储空间
第三步
1.查看存储空间文件
控制台->对象存储->存储空间->内容管理
2.获取文件
文件地址:协议+域名+文件名
协议:http还是https自己看着办
域名:有默认的域名,但是有时限,可以自己绑定域名
文件名:上传所需参数中的key参数
总结:
程序员是很需要耐心的,遇到问题多思考,解决问题过程中,千万不要钻牛角尖,不重要的就舍掉。