序幕
云存储的使用范围当下是非常的广泛了。如:某宝,某东这些大型的网上购物平台,许多的商品图片以及视频都开始了云存储。
那什么是云存储呢
云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。
云存储是在云计算(cloud computing)概念上延伸和衍生发展出来的一个新的概念。
比如:七牛云,又拍云….这些云存储服务器
接下来我们来实现七牛云云存储
七牛云
配置服务器
首先进入七牛云官网:https://www.qiniu.com/,进行注册登陆

登陆成功后,进入管理控制台,找到对象存储,并进入

进入之后创建一个空间

注:这里值得说一下的是这个区域存储,分为5大区域,选择也是根据自己所在的地区选择。下图是不同区域的上传域名

创建成功之后在个人头像处找到密钥管理,这里的AK,SK需保存


安装库
使用七牛云还需要安装一个库

Django(调用接口获取七牛云token)
1 2 3 4 5 6 7 8 9 10 11
| from qiniu import Auth class QiNiu(APIView): def get(self,request): q = Auth('AK','SK') token = q.upload_token('创建空间的名称') return Response({ 'token': token })
|
接口调用返回结果

Vue(获取到token,进行上传文件)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| <template> <div> <input @change="upload_qiniu" type="file" > 上传进度:{{fileload}} </div> </template> <script>
export default { data () { return { uptoken:'', fileload:'', } }, components:{
}, mounted:function(){ this.get_uptoken() }, methods:{ get_uptoken(){ getqiniu_get().then(res=>{ this.uptoken = res.token }) }, upload_qiniu(e){ let file = e.target.files[0]; let param = new FormData(); param.append('token',this.uptoken); param.append('file',file); const axios_qiniu = this.axios.create({withCredentials:false}); axios_qiniu({ method:'POST', url:'http://up-z1.qiniu.com', data:param, timeout:30000, onUploadProgress:(e)=>{ var com = (e.loaded / e.total); if(com < 1){ this.fileload = (com * 100).toFixed(2) + '%' } }, }).then(res=>{ console.log(res) this.fileload = '100%' }) }, } } </script> <style scoped>
</style>
|
页面效果

上传成功,返回值

注:此处的key与hash是可以与你七牛云的测试域名拼接访问更上传的文件的

总结
其实七牛云云存储实现起来并不难,主要是通过AK,SK获取上传的token