【问题标题】:sending file to client for download将文件发送到客户端以供下载
【发布时间】:2017-02-20 05:35:53
【问题描述】:

您好,我正在尝试将文件从我的快速服务器发送到我的前端,以允许用户在单击按钮时下载它。我已经在后端创建了一条通过字节数组发送的路由,但我对如何允许用户下载它一无所知。

我在这里尝试做的是允许一个用户将文件直接上传到我的服务器,然后另一个用户来下载前一天上传的文件。

我已经让上传部分正常工作。现在我只是缺少下载部分的方向。

这是我的特快路线。

const path = require('path');

const getFile = (req, res) => {
  const filePath = path.join(__dirname, '../../../', req.query.file);
  console.log(filePath);
  res.download(filePath);
};

这是我的前端功能的 onClick

download(file) {
    axios.get('/api/download/getFile', {
      params: {
        file,
      },
    })
    .then(data =>{
      console.log(data);
      window.open(data.data);
    })
  }

这是我点击按钮时不断出现的错误

无法打开 URL 无效的窗口

对我有意义,因为我没有得到一个 url 我得到一个字节数组

【问题讨论】:

  • window.open('/api/download/getFile?file=yourfile'); 怎么样?
  • @RehbanKhatri ha 我已经花了 3 天的时间来解决这个问题,非常感谢您
  • 太棒了!想将此标记为答案吗?

标签: javascript file reactjs express download


【解决方案1】:

试试这个 -

window.open('/api/download/getFile?file=yourfile');

【讨论】:

    猜你喜欢
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    • 2018-10-27
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    相关资源
    最近更新 更多