【问题标题】:Is it possible to drag a remote file out of Electron App onto the file system?是否可以将远程文件从 Electron App 拖到文件系统上?
【发布时间】:2017-08-29 18:55:04
【问题描述】:

我一直在使用 Electron 应用程序的文件系统拖放功能,并且没有遇到任何问题,可以让所有内容都与本地文件一起使用。我在文档中没有遇到任何内容,所以我想看看是否有人知道这是否可能。 我想使用 Electron 中的拖出功能将远程文件拖出应用程序并拖到文件系统上。

具体例子: 我正在开发的程序是一个远程文件管理工具——类似于 Dropbox。我想将代表远程文件的 dom 元素拖到 Finder(或 Windows 资源管理器)窗口,并让 Electron 将文件下载到该位置。

只要文件按照 Electron 文档存储在本地,我就能让它工作。 http://electron.atom.io/docs/all/#dragging-files-out-of-the-window

我可以设想两种可能的解决方案:

  • electron 是否能够将 DownloadItem 或 URL 传递给“startDrag”事件(如上面链接中所引用的)?
  • 是否可以监听某种“丢弃”并获取我的 dom 元素被丢弃的本地文件系统路径?例如,/Users/{proile}/Desktop?我可以使用我现有的下载方法将文件下载到该特定路径。

对如何实现我的目标有任何想法吗?非常感谢您的宝贵时间。

【问题讨论】:

标签: javascript drag-and-drop electron


【解决方案1】:

我还没有看到任何此类功能的示例——但看起来并不难拼凑起来(著名的遗言......)

  1. 您在远程文件的 UI 中有您的表示,并且可以将这些表示“拖动”到桌面。
  2. 当用户拖动其中一种表示时,您会捕捉到目标目的地
  3. 您开始下载相关文件并将其保存到目标位置

至少我会这样开始处理它。 有各种与电子相关的库处理下载(例如electron-dl)。如果你得到这个工作,报告回来并分享详细信息。

【讨论】:

  • 非常感谢您的回复!这对我来说很有意义......当用户在程序之外(在文件系统上)进行“放置”时,我真的很难获得目标目的地。我的事件永远不会触发。如果我能得到本地路径,我会很高兴。您是否有任何工作代码可以拉出目标目的地?
  • 我不需要这样做,所以我没有任何代码。四处闲逛我看到了这个 - 它有效:Drag out files like Gmail - 但它是 7 年前的,所以现在谁知道。
  • “当用户拖动这些表示之一时,您会捕获目标目的地”据我所知,这对于电子是不可能的。我在这里创建了同样的问题,但还没有运气stackoverflow.com/questions/49134283/…
  • 如果有人知道如何“当用户拖动其中一个表示时,您会捕捉到目标目的地”,请让全世界都知道
猜你喜欢
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多