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

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

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

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

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

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

阅读 3.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
七牛云问答
子站问答
访问
宣传栏