node.js - 如何使用 react 前端点击 Electron 将文件下载到系统

标签 node.js reactjs electron

我正在使用 electronjs 和前端使用 React 构建一个桌面应用程序,我有一个表格,每列都有一个下载图标,当打开时使用该行的信息来构建一个 URL,直接将文件下载到您的 PC。

我试过使用 <a href=${download_url} download><a>在浏览器上完美运行,但无法通过 Electron 应用程序运行,它会打开一个文件选择器对话框,要求我保存文件。

我也试过做 window.open(url)但这只会打开一个空窗口,并且不会从 url 下载内容。

我应该如何下载从 URL 发送过来的文件?

最佳答案

下载行为取决于您使用的浏览器。
一些浏览器询问将文件保存到哪里(例如 Mozilla Firefox),其他浏览器询问保存文件的权限(例如 Windows Edge)或仅下载具有给定文件名的文件(例如默认情况下的 Google Chrome)。

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#Attributes有关 download 的更多信息属性。

解决您的问题:

  • 有一种 Electron 方式可以做到这一点:https://electronjs.org/docs/api/download-item
  • 还有一个使这个过程更容易的库:https://github.com/sindresorhus/electron-dl
  • 关于node.js - 如何使用 react 前端点击 Electron 将文件下载到系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56947103/

    相关文章:

    reactjs - Material-UI 主题覆盖问题

    javascript - 'console.log' 在测试 Electron 应用程序时在 Webstorm 中不起作用

    node.js - socket.io 和express 3错误

    node.js - 用于代理和托管静态内容的 NodeJs Express 服务器

    javascript - componentWillReceiveProps 包含多个 if

    javascript - 在路由更改时更改状态 Next.js

    javascript - 使用 Electron 记录桌面

    javascript - 获取整型变量的值以进行动态加载

    android - 从 Postman 工作的 NODE JS Api 导致应用程序超时

    mysql - 如何在 node.js 的 typescript-sequelize 中使用 'or' 选项?