Цель:
Используйте Electron `s Native File Drag & Drop для перетаскивания удаленных файлов из электронного приложения в мир операционной системы, например на рабочий стол или в какую-либо открытую папку
Подход:
рендерер
В рендерере используйте ipcRenderer.send('ondragstart', url_to_download)
основной процесс
В основном процессе, в ipcMain.on('ondragstart'
- Сначала загрузите удаленный файл и дождитесь его завершения
- Затем используйте
event.sender.startDrag(
и в качестве файла укажите путь к загруженному файлу
Код:
- https://github.com/mafar/electron-drag-drop-remote-files
- Скачать репо и затем
npm install && npm start
main.js
и renderer.js
- файлы с логикой
Вопросы:
- пользователь хочет перетащить удаленный элемент и поместить его на рабочий стол операционной системы
- пользователь должен держать левую кнопку мыши нажатой и не отпускать ее при падении на рабочий стол компьютера до появления драгикона
- это потому, что драгикону требуется время, пока файл не будет загружен и доступен для удаления
- Если вы быстро перетаскиваете на рабочем столе файл, который еще не загружен, встроенная операция os ничего не делает
- Это делает его практически бесполезным
Есть предложения?