js生成token 七牛云_nodejs 获取七牛云token, 拉取七牛云资源列表;

const Koa = require("koa");

const app = new Koa();

const Router = require("koa-router");

const Bodyparse = require("koa-bodyparser");

const cors = require("koa2-cors");

const router = new Router();

let qiniu = require("qiniu");

app.use(

Bodyparse({

jsonLimit: "10M",

formLimit: "10M",

textLimit: "10M"

})

); // 处理post请求

app.use(cors()); // 允许跨域

// const accessKey = ""; //

// const secretKey = "";

// const bucket = "";

const accessKey = "个人七牛账号里获取"; // 七牛账号

const secretKey = "个人七牛账号里获取";

let bucket = "创建的存储空间";

qiniu.conf.ACCESS_KEY = accessKey;

qiniu.conf.SECRET_KEY = secretKey;

let imageUrl = "http://upload-z2.qiniup.com"; // 你要上传的域名

let mac = new qiniu.auth.digest.Mac(accessKey, secretKey);

const imgdomain = "http://q7i3go8uq.bkt.clouddn.com"; //创建bucket是七牛自动分配的域名

let options = {

scope: bucket

};

let config = new qiniu.conf.Config();

config.zone = qiniu.zone.Zone_z2;

var bucketManager = new qiniu.rs.BucketManager(mac, config);

let option = { limit: 20 };

// 获取前端上传七牛云所属需要的token

router.get("/gettoken", async (ctx, next) => {

console.log("mac", mac);

let options = {

scope: bucket,

expires: 3600 * 24

};

let putPolicy = new qiniu.rs.PutPolicy(options);

let uploadToken = putPolicy.uploadToken(mac);

if (uploadToken) {

ctx.body = uploadToken;

} else {

ctx.body = "error";

}

await next();

});

//拿到数据返给前端

router.get("/imglist", async (ctx, next) => {

await getQiniuImg(bucket,option).then((res,reject) => {

// res.

ctx.body = {

code: 200,

data: res

};

});

await next();

});

/**

* @param {}

*

* */

//获取七牛云上的资源列表的方法封装

function getQiniuImg(bucket,limit) {

return new Promise((resolve, reject) => {

bucketManager.listPrefix(bucket, limit, function (respErr, respBody, respInfo) {

if (respBody.error) {

respErr = {"error": respBody.error, 'status': respBody.status};

}

if(respBody){

resolve(respBody)

}else {

reject(respInfo)

}

});

});

}

app.use(async (ctx, next) => {

await next();

});

app.use(router.routes());

app.use(router.allowedMethods());

app.listen(1000);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值