2017-12-20 16 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..."); 
}); 

이것은 내 경로입니다. 여기서 이름 대신 '정의되지 않음'이 인쇄됩니다.

도와주세요.

답변

0

data 필드에 더 많은 매개 변수를 보낼 수 있습니다.

이 내가 업로드 기능을 사용하고 방법은 다음과 같습니다

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

는 도움이되기를 바랍니다.

편집 내가 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 (익스프레스) 및 패키지는 멀터 .. 내 질문에 그것을 볼 수 –

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