2016-09-20 8 views
0

は次のとおりです。送信フォーム

<script> 
    $("input[type='button']").click(function(){ 
    var files = $("input[type='file']").get(); 

    var formData = new FormData(); 
    var text = "xxxxx"; 
    var url = "fileUpload"; 
    if (files.length > 0){ 
     for (var i = 0; i < files.length; i++) { 
     var input = $("input[type='file']").get(i).files; 
     var file = input; 
     if(file.length>0){ 
      console.log(file[0].name); 
      formData.append('userpic',file[0], file[0].name); 
     } 
     } 
     formData.append('text',text); 
     $.ajax({ 
     type: "post", 
     url: url, 
     processData: false, 
     contentType: false, 
     data: formData, // serializes the form's elements. 
     }); 
    } 
    }); 
</script> 

server.js

router.post('/fileUpload', function(req, res) { 
console.log(req.body.text); 
// req.pipe(req.busboy); 
req.busboy.on('file', function(fieldname, file, filename) { 
    console.log('ok2'); 
    var fstream = fs.createWriteStream('./public/images/' + filename); 
    file.pipe(fstream); 
    fstream.on('close', function() { 

    }); 
}); 
res.send('upload succeeded!'); 
}); 

この行のコードconsole.log(req.body.text); npm install --save body-parser して、ミドルウェアを選択します: var bodyParser = require('body-parser'); app.use(bodyParser.json());

、または直接ミドルウェアを使用します。 var bodyParser = require('body-parser'); router.post('/fileUpload', bodyParser.json(), function(req, res) {....});

をものフォーマットを見てconsole.log(req.body)を使用してみてください はちょうどボディパーサーを使用してみてください{}

+0

app.jsファイルコードを投稿できますか? – abdulbarik

+0

@abdulbarik var bodyParser = require( 'body-parser'); var busboy = require( 'connect-busboy'); app.use(busboy()); app.use(bodyParser()); 私はapp.jsでmiddelwareを使用しています – user3046493

答えて

1

を返しますリクエスト。

+0

私はapp.jsでmiddelwareを使用します – user3046493

1

私はこれがこの行のためだと思います:file.pipe(fstream);、これはfstream.pipe(file)であるべきです。

スティーブンのように、マルチタは良い選択肢だと言います。

+0

私はmulterのinstaded busboyを使います – user3046493

+0

私は決してbusboyを使ったことがないので助言できません。 – NBeydon