最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

我可以用身体的解析器和艰巨的同时?

IT培训 admin 6浏览 0评论

我可以用身体的解析器和艰巨的同时?

我想解决问题的几天,但无法理解一些事情。我有和的NodeJS创建ExpressJS一个网站,并处理表单我用身体的解析器。

    var adName = req.body.adName;
    var adMessage = req.body.adMessage;
    var phone = req.body.phone;
    var rawPrice = req.body.price;
    var rawCurrency = req.body.currency;

因此,使用这种方法我处理表单值。但现在,我需要使用节点强大,从用户的解析图像。现在的问题是,我可以用某种方式只强大图像和身体解析器的形式?或者,谁能帮我厉害,懂得如何处理的形式和附加价值,以我的变量?

回答如下:

您可能需要花一些时间来研究/做法与强大的模块。看到这个网址:https://github/felixge/node-formidable

是的,强大的可用于处理两个表单字段和文件上传的,包括多文件上传。身体解析器中间件不处理的multipart - https://github/expressjs/body-parser。在这种情况下,我会建议你使用强大的落体的解析器。

看看下面的快递应用为您排忧解难。

var formidable = require('formidable'),
    util = require('util'),
    express = require('express'),
    app = express();

app.set('port', process.env.PORT || 3600);
app.get('/', function (req, res) {
    res.send(     
    '<form action="/upload" enctype="multipart/form-data" method="post">'+
    '<input type="text" name="adName" placeholder="adName"><br>'+
    '<input type="text" name="adMessage" placeholder="adMessage"><br>'+
    '<input type="text" name="phone" placeholder="phone"><br>'+
    '<input type="text" name="rawPrice" placeholder="rawprice"><br>'+
    '<input type="text" name="rawCurrency" placeholder="rawcurrency"><br>'+
    '<input type="file" name="upload" multiple="multiple"><br>'+
    '<input type="submit" value="Upload">'+
    '</form>'
  );
});

app.post('/upload', function(req, res){
    var form = new formidable.IncomingForm();
    form.uploadDir = __dirname + "/data";
    form.parse(req, function(err, fields, files) {
        //fields is an object containing all your fields, do waht ever you want with them from here
        //file is an object containing properties of your uploaded file
      res.send(util.inspect({fields: fields, files: files}));
      console.log('file uploaded : ' + files.upload.path + '/' + files.upload.name);
      console.log('Fields : ' + fields.adName);//you can access all your fields
    });
});

//starting server
app.listen(app.get('port'), function () {
    console.log('Express is listening: http://localhost:%s;', app.get('port'));
});

我可以用身体的解析器和艰巨的同时?

我想解决问题的几天,但无法理解一些事情。我有和的NodeJS创建ExpressJS一个网站,并处理表单我用身体的解析器。

    var adName = req.body.adName;
    var adMessage = req.body.adMessage;
    var phone = req.body.phone;
    var rawPrice = req.body.price;
    var rawCurrency = req.body.currency;

因此,使用这种方法我处理表单值。但现在,我需要使用节点强大,从用户的解析图像。现在的问题是,我可以用某种方式只强大图像和身体解析器的形式?或者,谁能帮我厉害,懂得如何处理的形式和附加价值,以我的变量?

回答如下:

您可能需要花一些时间来研究/做法与强大的模块。看到这个网址:https://github/felixge/node-formidable

是的,强大的可用于处理两个表单字段和文件上传的,包括多文件上传。身体解析器中间件不处理的multipart - https://github/expressjs/body-parser。在这种情况下,我会建议你使用强大的落体的解析器。

看看下面的快递应用为您排忧解难。

var formidable = require('formidable'),
    util = require('util'),
    express = require('express'),
    app = express();

app.set('port', process.env.PORT || 3600);
app.get('/', function (req, res) {
    res.send(     
    '<form action="/upload" enctype="multipart/form-data" method="post">'+
    '<input type="text" name="adName" placeholder="adName"><br>'+
    '<input type="text" name="adMessage" placeholder="adMessage"><br>'+
    '<input type="text" name="phone" placeholder="phone"><br>'+
    '<input type="text" name="rawPrice" placeholder="rawprice"><br>'+
    '<input type="text" name="rawCurrency" placeholder="rawcurrency"><br>'+
    '<input type="file" name="upload" multiple="multiple"><br>'+
    '<input type="submit" value="Upload">'+
    '</form>'
  );
});

app.post('/upload', function(req, res){
    var form = new formidable.IncomingForm();
    form.uploadDir = __dirname + "/data";
    form.parse(req, function(err, fields, files) {
        //fields is an object containing all your fields, do waht ever you want with them from here
        //file is an object containing properties of your uploaded file
      res.send(util.inspect({fields: fields, files: files}));
      console.log('file uploaded : ' + files.upload.path + '/' + files.upload.name);
      console.log('Fields : ' + fields.adName);//you can access all your fields
    });
});

//starting server
app.listen(app.get('port'), function () {
    console.log('Express is listening: http://localhost:%s;', app.get('port'));
});
发布评论

评论列表 (0)

  1. 暂无评论