【问题标题】:nodejitsu 400 Error: ENOENT, open '/opt/run/snapshot/package/images/tmp/72118-89rld0.pngnodejitsu 400 错误:ENOENT,打开 '/opt/run/snapshot/package/images/tmp/72118-89rld0.png
【发布时间】:2013-09-27 23:05:32
【问题描述】:

我正在使用 nodejitsu 来部署一个带有 express 的简单图像上传程序。在我的代码中,我通过以下命令更改了默认上传目录

app.use(express.bodyParser({
        uploadDir: __dirname + "/images/tmp"
    }));

它在我的本地主机上运行良好,但是当我使用 nodejitsu 时出现此错误

400 错误:ENOENT,打开 '/opt/run/snapshot/package/images/tmp/72118-89rld0.png。

谁能告诉我如何让它在 nodejitsu 上也能工作?实际上,我是 node 的新手,也是 nodejitsu 的新手。

【问题讨论】:

  • 其实我有一个解决办法。我通过 app.use(express.bodyParser()); 将上传目录恢复为默认值然后使用 fs.rename(oldPath, newPath, callback); 将图像移动到我希望它们存储的位置

标签: node.js express nodejitsu


【解决方案1】:

确保目录 /opt/run/snapshot/package/images/tmp/ 存在。否则只是 mkdir 那些目录

【讨论】:

    【解决方案2】:

    首先检查目录是否存在。如果没有,则创建它并按照命令进行操作

    sudo jitsu deploy
    

    我想问题会解决的。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。尝试在应用程序启动时检查目录:

      var fs = require('fs'),
        upload = __dirname + "/images/tmp";
      
        fs.exists(upload, function (exist) {
          if (!exist) {
            fs.mkdir(upload);
          }
        });
      

      这对我有帮助,也许对你有帮助。

      【讨论】:

        猜你喜欢
        • 2015-01-05
        • 2014-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-04
        • 1970-01-01
        • 1970-01-01
        • 2021-11-25
        相关资源
        最近更新 更多