eggjs上传文件 至七牛云 程序刚开始运行 一切正常。过了几个小时就无法上传图片;需要重启服务

Lambo
  • 313

使用了Eggjs框架。我按照此方式 将图片文件上传至七牛云。https://blog.csdn.net/twodogy...

npm run start 可以正常上传图片(目前一切正常)。

过了2~3个小时就无法上传了。重启服务后(npm run stop && npm run start)就可以上传。。
但是过了几个小时又不行了。。只有反复重启egg服务。。

各位大神是否有办法?是否知道是何原因?

环境:线上
服务器:阿里云ecs

回复
阅读 1.4k
2 个回答
✓ 已被采纳

已解决,原因是七牛云的Token有默认过期时间。因为Token创建在class外部,从运行run start开始,就创建了Token,后期调用上传方法一直使用此token。过期了无法生成新的Token。

解决方法:将生成Token的代码,放到 class方法内,这样每次调用上传 服务,都会生成新的Token

const mac = new qiniu.auth.digest.Mac(accessKey, secretKey);
const options = {
scope: bucket
};
const putPolicy = new qiniu.rs.PutPolicy(options);
const uploadToken = putPolicy.uploadToken(mac);

可以定位下是不是服务阻塞了

你知道吗?

logo
七牛云问答
子站问答

非结构化静态文件的高速稳定安全云存储平台

宣传栏