Node.js 通过post请求发送文件
我想通过post请求发送文件,但我似乎无法使其正常工作,有人能发现问题吗 提前谢谢Node.js 通过post请求发送文件,node.js,express,Node.js,Express,我想通过post请求发送文件,但我似乎无法使其正常工作,有人能发现问题吗 提前谢谢 router.post('/:matchId', (req, res) => { zed.makeSpecBatch(req.body).then(matchCmd => { fs.writeFile(`./matches/${req.params.matchId}.bat`, matchCmd, err => { if (err) console
router.post('/:matchId', (req, res) => {
zed.makeSpecBatch(req.body).then(matchCmd => {
fs.writeFile(`./matches/${req.params.matchId}.bat`, matchCmd, err => {
if (err) console.log(err);
res.sendFile(`${req.params.matchId}.bat`, {root: __dirname+'/../matches'})
});
});
});
您正在写入
/matches/${req.params.matchId}.bat
文件,但发送的\uu dirname+'/../matches'
目录不正确。我认为你需要使用正确的路径
__dirname+'/matches'
或
router.post('/:matchId', (req, res) => {
// check here
var files = req.files;
console.log(files);
zed.makeSpecBatch(req.files.file.path).then(matchCmd => {
fs.writeFile(`./matches/${req.params.matchId}.bat`, matchCmd, err => {
if (err) console.log(err);
res.sendFile(`${req.params.matchId}.bat`, {root: __dirname+'/../matches'})
});
});
});
如果我不正确,请回答正确的答案
我可以确认原始帖子中的路径是curreti。我正在基于来自body
fs.writeFile(
/matches/${req.params.matchId}.bat,matchCmd,err=>
的matchId创建文件。此函数创建要下载的文件
router.post('/:matchId', (req, res) => {
// check here
var files = req.files;
console.log(files);
zed.makeSpecBatch(req.files.file.path).then(matchCmd => {
fs.writeFile(`./matches/${req.params.matchId}.bat`, matchCmd, err => {
if (err) console.log(err);
res.sendFile(`${req.params.matchId}.bat`, {root: __dirname+'/../matches'})
});
});
});