繁体   English   中英

pm2的快速文件上传

Express-fileupload with pm2

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我创建了节点应用程序以将图像和一些表单数据上传到服务器。 这是我的职责

var express = require('express');
var router = express.Router();
var app = express();
var fileUpload = require('express-fileupload');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var cors = require('cors')
var Job = require('../models/job');

exports.addJobs = function (req, res) {
if (req.files && req.body) {

let address = {
  'city': req.body.city,
  'street': req.body.street,
  'houseNumber': req.body.houseNumber
}

var job = new Job();
job.userId = req.body.userId;
job.categoryId = req.body.categoryId;
job.subCatId = req.body.subCatId;
job.description = req.body.description;
job.dueDate = req.body.dueDate;
job.dueTime = req.body.dueTime;
job.priceLimit = req.body.priceLimit;
job.longitude = req.body.longitude;
job.latitude = req.body.latitude;
job.address = address;

job.save(function (err) {
  if (err) {

    res.send(err);
  } else {

      if (!req.files) {
        return res.status(400).json({ message: 'No files were upload' });
      } else {

        let sampleFile = req.files.image;
        let type = req.files.image.mimetype.split('/')[1];

        let imgName = job._id;
        let filename = 'jobimages'
        let imgUrl = 'http://156.6*.***.***:8085/images/' + filename + '/' + imgName + '.' + type;
        let id = new mongoose.Types.ObjectId(imgName);

        Job.findById(id)
          .exec(function (err, result) {
            if (err) {

            } else {
              if (result !== null) {
                sampleFile.mv('./public/images/'+ filename + '/' + imgName + '.' + type, function (err) {
                  if (err) {
console.log('this is the error place')
                  } else {
                    var imagePath = {
                      $set: { imageUrl: imgUrl }
                    }

                      Job.findByIdAndUpdate(id, imagePath, function job(err, result) {
                        if (err) {

                        } else {

                          console.log('Image uploaded')
                        }
                      })

                  }
                });
              }
            }
          });
      }

    res.json({ message: 'success', details: "Added job successfully", content: job });
  }
});
 } else {
res.status(400).json({message: 'no image or body'})
}
};

当我将此代码放入服务器并使用命令“ node app.js”运行它时,它将数据添加到作业集合中,并且还成功上传了图像并也更新了imageUrl。 但是在同一服务器上,当我使用pm2时,它仅将作业添加到集合中,但无法上传图像。 我使用了'pm2 monit',它在上面的代码中打印了console.log('这是错误的地方'),而且当我打印出错误时,

Error: ENOENT: no such file or directory,open 
'./public/images/jobimages/5bec612c5f3da83c0f3.jpeg'
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: './public/images/jobimages/5bec612c5f/3da83c0f340c09.jpeg' }

我在这里找不到问题,请帮忙?

问题暂未有回复.您可以查看右边的相关问题.
2 PM2,Grunt和SailsJS的文件权限

我正在尝试通过PM2启动SailsJS服务器,并注意我正在使用的更改: 请注意,之前没有SUDO,因此应该以正确的用户身份启动,尽管所有错误代码都为EACCES,但我会收到各种奇怪的Grunt错误。 我什至尝试使用-u root来运行它,从而消除了错误,但是在源代码更新后仍然出现E ...

3 Pm2更改日志文件位置

我有几个关于pm2的问题 由于服务器的c盘访问限制,如何将server-error-0.log和server-out-0.log文件位置从c:\\users\\user\\.pm2\\logs更改为其他驱动器。 我可以在数据库而不是日志文件中记录错误和信息吗? 我是否需要为此 ...

4 pm2日志原始到文件

我想让我的日志文件为原始文件(没有pm2插入的应用程序ID和应用程序名称前缀)。 类似于pm2 logs --raw但是用于实际的日志文件,并且可以通过生态系统文件进行配置。 这是我的ecosystem.json: 如何配置我的日志文件为原始文件? ...

5 如何像Nginx一样将PM2的配置文件存储在/ etc / pm2下

我想在/etc/pm2下结构化PM2配置文件,例如Nginx 这样做的原因是,所有配置的结构都一致,易于管理PM2的用户权限,并且易于重新启动进程(类似于sudo service restart/reload nginx )。 另外,我希望服务器在重新启动计算机后自动启动所有进程。 ...

2015-09-11 16:13:44 1 442   pm2
6 PM2:忽略对所有同名文件夹或文件的监视

我希望 pm2 停止监视名称为cache或tmp文件夹。 我在app.json配置文件中尝试了很多方式: 并且还看到了这个问题,谁似乎没有这种情况的例子。 我发现解决问题的唯一方法是放置像server/my-module/cache这样的确切路径 最后,我无法让自己认为这是不可能的……这就是 ...

7 pm2观看文件夹内部,出现问题

我正在尝试让pm2监视事件,命令,数据,index.js和config.js中的所有内容。 pm2 --name druggy-监视事件,命令,数据,index.js,config.js / index.js起始节点-index.js 我使用了它,每当我尝试更改其中一个文件夹中的文件 ...

9 从json文件开始时PM2出现错误

以下是我的json文件。 档案名称( pm2-ecosystem.json ) 然后通过package.json中的以下脚本重新启动它 我收到这样的错误: 2019-03-19T02:49:21:PM2错误:错误:生成/ usr / local / bin / ...

10 如何在pm2中通过https提供静态文件?

我们可以在PM2中使用简单的命令通过http提供我们的静态文件(例如前端应用程序): pm2 serve <path> <port> 我如何使用相同的pm2 serve命令使用SSL为静态文件提供pm2 serve ? 可能吗 ? 或使用PM2的任何替代方法? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM