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

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

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

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

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

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

阅读 197
评论
    2 个回答
    Lambo
    • 73

    已解决,原因是七牛云的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);
    评论 赞赏
      七牛云存储问答
      合作问答

      七牛云存储 联合 SegmentFault 共同推出技术问答专区,为开发者们提供社区支持和帮助。在这里,你将直接...