Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js多方上传不起作用_Javascript_Angularjs_Node.js_Express - Fatal编程技术网

Javascript Node.js多方上传不起作用

Javascript Node.js多方上传不起作用,javascript,angularjs,node.js,express,Javascript,Angularjs,Node.js,Express,multiparty.Form()无效。我正在打印。(例如2,3,4) 这是我的图片上传代码: app.post('/gallery/add',function(req, res,next) { var input = JSON.parse(JSON.stringify(req.body)); var multipart = require('connect-multiparty'); var multiparty = require('multiparty'); var format = re

multiparty.Form()
无效。我正在打印。(例如2,3,4)

这是我的图片上传代码:

app.post('/gallery/add',function(req, res,next) {
var input = JSON.parse(JSON.stringify(req.body));
var multipart = require('connect-multiparty');
var multiparty = require('multiparty');
var format = require('util').format;
var fs = require("fs");
var path = require('path');
var tempPath =req.files.image.path;
var filename2 =req.files.image.originalFilename;
req.getConnection(function (err, connection) {
    console.log('1');
   var form = new multiparty.Form();
   var image;
   var title;
form.on('error', next);
  form.on('close', function(err, fields, files){
      console.log('2');
      if(err) {
       next(err);
       console.log(err);
    } else {
  console.log('3');
      ins = fs.createReadStream(tempPath);
      ous = fs.createWriteStream(__dirname + '/uploads/' + image.filename);
      util.pump(ins, ous, function(err) {
        if(err) {
          next(err);
        } else {
          res.redirect('/#gallery/add');
          res.end();
        }
      });
      //console.log('\nUploaded %s to %s', files.photo.filename, files.photo.path);
      //res.send('Uploaded ' + files.photo.filename + ' to ' + files.photo.path);
    }
    res.send(format('\nuploaded %s (%d Kb) as %s'
      , image.filename
      , image.size / 1024 | 0
      , title));
  });
 // listen on field event for title
  form.on('field', function(name, val){

  console.log('4');
    if (name !== 'title') return;
    title = val;
  });

  // listen on part event for image file
  form.on('part', function(part){
 console.log('5');
    if (!part.filename) return;
    if (part.name !== 'image') return part.resume();
    image = {};
    image.filename = part.filename;
    image.size = 0;
    part.on('data', function(buf){
      image.size += buf.length;
    });
  });

  // parse the form
   form.parse(req);

    });
});
似乎
表单.on
方法不起作用

我哪里出错了?

只要使用它:

// parse a file upload 
    var form = new multiparty.Form();

    form.parse(req, function(err, fields, files) {
      res.writeHead(200, {'content-type': 'text/plain'});
      res.write('received upload:\n\n');
      res.end(util.inspect({fields: fields, files: files}));
    });

    return;

来源:

您能告诉我,在您的代码到达什么位置时,只有“1”在这个控制台中打印使用这个控制台。var form=new multiparty.form();form.parse(req,function(err,fields,files){res.writeHead(200,{'content-type':'text/plain'});res.write('received upload:\n\n');res.end(util.inspect({fields:fields,files:files}));});返回;它是否有效?不,它说字段和文件未定义。@diksha,试试这个,希望它会提供一些错误,这样您就可以调试更多的表单。on('error',function(err){console.log(err);};我可以访问这些文件,但只有名称和路径,没有显示任何数据:文件:%@{fieldName:'image',originalFilename:'photo1.png',路径:'/var/folders/x4/01z7j18d7vz8rxrgcxt2w9dm0000gn/T/OMTuSjvM_oj9oeur44zomzk4.png',标题:{'content disposition':'form data;name=“image”;filename=“photo1.png”','content type':'image/png'},size:152501}您知道如何访问提交的图像数据而不仅仅是路径,以便将它们存储在数据库中吗?