下载文件ERR_FILE_NOT_FOUND

问题描述 投票:0回答:0

我需要下载我用 multer 上传的文件,并将其放入存储 Express 侧的文件夹名称 /uploads 的根目录中,然后将路径插入数据库中,我从数据库中获取路径

问题是,当我下载文件时,当我点击它时,文件会下载,这就是我得到的

无法访问您的文件

它可能已被移动、修改或删除。

ERR_FILE_NOT_FOUND

这是前端的代码

 tableCondition = currentPosts2.map((p, key) => (
      <tr key={key}>
        <td>{key + 1}</td>
        <td>{p.id_bon}</td>
        <td>{p.nom_fournisseur}</td>
        <td>{p.acheteur}</td>
        <td>{p.livreur}</td>
        <td>{p.type_bon}</td>
        <td><a href={`/download/${p.scanne_bon}`} download>Download Uploaded File</a></td>
        <td>{p.recepteur}</td>
        <td>{dateNow(p.datee)}</td>
        <td>{p.heure}</td>
      </tr>
    ));

这是后端,我也是这样做的

app.use('/download', express.static('uploads'));
router.get('/download/:fileName', (req, res) => {
  const fileName = req.params.fileName;
  const filePath = path.join(__dirname, '../uploads', fileName);

  // Check if the file exists
  if (fs.existsSync(filePath)) {
    // Set the appropriate headers for the download
    res.setHeader('Content-Disposition', `attachment; filename="${fileName}"`);
    res.setHeader('Content-Type', 'application/octet-stream');

    // Send the file as a response
    res.sendFile(filePath);
  } else {
    res.status(404).json({ error: 'File not found' });
  }
});
node.js reactjs express multer downloadfileasync
© www.soinside.com 2019 - 2024. All rights reserved.