2017-12-20 15 views
0

私はこれは私のコントローラが持っているものである角度JS角度jsでUpload.uploadを使用してパラメータを追加送信するにはどうすればよいですか?

var requestData = { 
     url: "/file_upload", 
     data: {"name":"jack", file:file}, 
    }; 

Upload.upload(requestData); 

を使用してファイルをアップロードしようとしています。

app.post("/file_upload", function(req, res){ 
    console.log(req.body.name); 
    res.send("uploading..."); 
}); 

これは私のルートです。 名前の代わりに 'undefined'が表示されています。

私を助けてください。

答えて

0

さらにdataフィールドにパラメータを送信できます。

これは私がアップロード機能を使用している方法です:

Upload.upload({ 
    url: url, 
    method: 'POST', 
    file: file, 
    data: {name:'Hello!'} // Here you can send JSON parameters 
}); 

はそれがお役に立てば幸いです。

EDIT

これは私がNode.jsの側

Multerミドルウェア機能

var uploader = multer({ 
    storage: multer.diskStorage({ 
     destination: function (req, file, next) { 
      next(null, '/path/to/final/file'); 
     }, 
     filename: function (req, file, next) { 
      next(null, 'finalFileName.csv'); 
     } 
    }), 
    limits: { 
     fieldNameSize: 100, 
     fileSize: 20000000, 
     files: 1, 
     fields: 5 
    } 
}).single('file'); 

マイルート

server.post('/file_upload', function (req, res) { 
    uploader(req, res, function (err) { // call uploader middleware 
     if (err) { 
      throw err; 
     } 
     else if (req.file) { 
      console.log(req.file); 
      console.log(req.body.name); // I can use parameters 
      res.status(200).json('OK!').end(); 
     } 
     else { 
      res.status(424).json('Error !').end(); 
     } 
    }); 
}); 
の私のファイルを受信して​​います方法です

希望します。

+0

まだ動作していません@Sparw –

+0

ファイルやサーバー側の受信には何を使用していますか? – Sparw

+0

ノードjs(express)とパッケージはmulterです。あなたは私の質問でそれを見ることができます –

-1
Upload.upload({ 
    url: url, 
     method: "POST", 
     data: { 
      details: {name: jack}, 
      files: files 
     } 
}).then(function (success) { 
    console.log(success); 
}); 
関連する問題