通过七牛云 js sdk 上传文件到自己的云盘中

文章目录

  • 1. 申请七牛云,完成实名认证
  • 2. 修改自己云盘对应数据
    • (1) 设置token
      • 法一:使用get方式
      • 法二:使用post方式
    • (2)设置URL
  • 3. 如何查看token的有效时间

1. 申请七牛云,完成实名认证

使用七牛云的对象存储,新建存储空间

2. 修改自己云盘对应数据

参考博客:https://blog.csdn.net/netdxy/article/details/50507161
下载这篇博客中第一步介绍的压缩包
在这里插入图片描述
根据该博客中介绍,修改如下

(1) 设置token

我是根据第一种方法,线上生成token,
生成token工具:https://github.com/Zzzia/qiniuToken

法一:使用get方式

在这里插入图片描述
直接进入该页面,在地址栏将ak,sk,bucket修改成自己的

法二:使用post方式

在他的github上给了一个请求地址,就是请求对应的api
可以用自己随便写的页面进行请求

$.ajax({
	url: 'http://zzzia.net:8080/qiniu/',//github上的请求地址
	type: 'post',
	data: {
		'accessKey':'******',//ak
		'secretKey':'******',//sk
		'bucket':'******'//存储空间名字
	},
	dataType: 'json',
	success: function (data) {

	}
})

然后打开该页面,进入工作台,选择network,在左下角选择qiniu/,就可以看见自己的token了

(2)设置URL

在qiniu.js中找到如下字段
通过七牛云 js sdk 上传文件到自己的云盘中_第1张图片
将qiniuUploaderUrl修改成自己对应的域(华南,华北。。。)
参考文章:https://segmentfault.com/q/1010000003758618
我还是将各个位置的域名搬了过来。。
通过七牛云 js sdk 上传文件到自己的云盘中_第2张图片
通过七牛云 js sdk 上传文件到自己的云盘中_第3张图片
通过七牛云 js sdk 上传文件到自己的云盘中_第4张图片
通过七牛云 js sdk 上传文件到自己的云盘中_第5张图片
比如我的是华南。我就需要将上面的修改成如下:


    var qiniuUploadUrl;
    if (window.location.protocol === 'https:') {
        qiniuUploadUrl = 'http://up-z2.qiniu.com';
    } else {
        qiniuUploadUrl = 'http://upload-z2.qiniu.com';
    }

    /**
     * qiniu upload urls
     * 'qiniuUploadUrls' is used to change target when current url is not avaliable
     * @type {Array}
     */
    var qiniuUploadUrls = [
        "http://upload-z2.qiniu.com",
        "http://up-z2.qiniu.com",
    ];

    var changeUrlTimes = 0;

然后再打开index.html页面进行上传,就可以在自己的内存空间上看见文件已经完成了上传。

后来我发现,过一会进行测试时,会出现401错误,原因如下
token过期,重新获取新的token就可以进行上传了

3. 如何查看token的有效时间

可以看到我们的token分为三段,用:隔开
例:

T_22tq0Cj6E5MxfpMrdGezdCEVf3cb2sHh3fROmJ:lLHE8iQdq9AoblzM1dT8gh1uzZU=:eyJzY29wZSI6Imt4Z2wyMzMzIiwiZGVhZGxpbmUiOjE1ODEwNzkxMTN9

第三段就是我们的token
使用base64 解码可得

{"scope":"kxgl2333","deadline":1581079113}

deadline就是失效时间,但是为时间戳格式,转换可得

2020-02-07 20:38:33

base64在线解码:https://tool.oschina.net/encrypt?type=3
时间戳在线转换:https://tool.lu/timestamp/

你可能感兴趣的:(服务器)