【问题标题】:How to download file from web using JavaScript or Angular to specific local folder [duplicate]如何使用 JavaScript 或 Angular 从 Web 下载文件到特定的本地文件夹 [重复]
【发布时间】:2019-02-09 15:16:33
【问题描述】:

我在我的项目中使用 AngularJS,并且有使用 HTML5 下载的 PDF 下载过程,并且工作正常,所有文档都下载到 PC 中的默认下载文件夹。
有没有办法下载文件以在本地选择特定文件夹并使用 JavaScript 或 Angular 进行下载?

【问题讨论】:

  • 不,您不能选择文件夹。如果你愿意,这将是一个安全风险。
  • file 像...例如病毒? ????
  • @messerbill 病毒可以隐藏在比可执行文件更多的文件类型中。
  • @messerbill 如果你可以下载一个伪装成普通文件的文件 - 如果你可以(如问题暗示)自动针对特定的本地点 - 是的,它可以在你甚至没有注意到的情况下执行。
  • 没错。使用 JS、HTML 和 download 属性,用户(取决于其权限)必须选择本地下载路径。所以总是要怪用户:)

标签: javascript angularjs


【解决方案1】:

您无法在任何主流浏览器(Chrome、Firefox、Edge 等)中执行此操作。只有本地安装的应用程序才能与本地文件系统通信。有几种选择。例如,结帐Electron js 项目。使用 Electorn,您可以使用 JavaScript 或 Angular 与主机文件系统进行通信,但同样,您必须将 Electron 安装到每个客户端。

另一种选择是浏览器扩展与一些与扩展通信的桌面应用程序。有一些相关的问题here

【讨论】:

  • 这需要用户安装一个使用 Electron 制作的应用程序,这里不是这种情况。 Electron 本身不能(没有本地安装)通过脚本与本地文件系统通信
  • @LGSon, true - Electron 应该作为应用程序安装到客户端,这是唯一的选择。为什么您认为这不是本案的选择?
  • 因为如果 OP 安装了一个应用程序,它会在问题中被告知。现在他们谈论使用 Angular/javascript 的 HTML5 项目,该项目在网络浏览器中运行,因此不是要求用户下载和安装应用程序以下载文件的选项。这样做又会带来巨大的安全风险。
  • @LGSon,现在再次阅读我的答案。是不是答错了?
  • 恕我直言,是的,它给人的印象是使用 Electron 可以。如果它被改写,并很好地解释了使用本地安装的应用程序,可以选择在哪个文件夹中保存下载的文件,但另一方面,这是一个完全不同的用例,有更多方法可以实现这一点除了 Electron 之外还有很多其他产品。
猜你喜欢
  • 1970-01-01
  • 2020-10-10
  • 2019-02-20
  • 2020-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
相关资源
最近更新 更多