pm2 运行项目和七牛云上传问题
发布于 3 年前 作者 Harveytwo 2405 次浏览 来自 问答

在上传图片到七牛,我遇到了一个很奇怪的问题:我使用的是某大神写的 qn 上传图片,使用 node app.js 和 supervisor app.js 运行项目,都可以上传图片,本地和线上环境都没啥问题。 但是使用 pm2 start app.js --watch 运行项目,在本地运行可以上传图片到七牛云,而在线上环境,即放到阿里云服务器上,就不能上传了 代码如下:

client.uploadFile(testFile, {key: 'pos22ter'}, function (err, result) {
    if(err) {
      console.log(err)
    }
    console.log(result);
    console.log('测试')
  });
  console.log('测试111')

我故意把文件路径 testFile 写错,就会报错,而写正确,直接打印 ‘测试111’,都没有执行上传文件的函数, 求哪位大神解答,俺是一个小白的。。谢谢你,大大神

而且方便回答,我上传多张图片是通过 for 循环,上传的,有啥好的做法吗?

解决了此问题: 因为上传七牛云是异步上传,而且需要上传多张图片,这里需要使用 promise 来控制整个上传图片流程,并把数据存入数据库和返回状态给前端

2 回复

qn模块地址最好贴上,方便后续帮你排查的人了解情况,至于你给出的信息,本地上传没问题,云服务上有问题,可以推断应该是网络层面的问题,比如阿里云到七牛云的网络是否正常,排查无误后在尝试其他方法;

https://www.npmjs.com/package/qn 这是 qn 模块的地址,但是我在阿里云服务器上使用 node app.js 和 supervisor app.js 运行都可以上传图片到七牛云,我觉得问题应该在 pm2 运行项目的问题上

回到顶部