我正在制作一个简单的文件上传器,以将jpeg文件上传到服务器。但是我遇到了障碍。
我似乎无法使Native File Drag and drop正常工作。每当我将图像或任何其他文件拖到文件上传器所在的位置时,它只会显示停止光标。像这样:
<input class="upload" type="file" id="Filedata" capture="" name="Filedata" multiple="" onchange="update()" accept="image/jpeg">
<script type="text/javascript" charset="utf-8">
document.getElementById('Filedata').ondragstart = (event) => {
event.preventDefault()
ipcRenderer.send('ondragstart', '/path/to/item')
}
</script>
以上是我要链接的代码。在Chrome测试中,它工作正常,但在Electron应用中无法正常工作。我没怎么做?有什么我想念的吗?我已经将另一半代码放在我的main.js
const { ipcMain } = require('electron')
ipcMain.on('ondragstart', (event, filePath) => {
event.sender.startDrag({
file: filePath,
icon: '/path/to/icon.jpg'
})
})
有人对我做错了什么有什么想法?任何帮助将不胜感激,这里是repo of my project
编辑 完全重新安装有效,谢谢。
答案 0 :(得分:1)
下载回购协议并进行测试后,我没有发现任何问题,因此似乎意外删除或更改了某些内容。有两种方法可以解决此问题。
选项1:
阅读“ Updating Electron”后运行npm update electron-prebuilt -save
选项2:
卸载Electron并重新安装:
npm uninstall electron
npm install electron
我确实在您的 main.js 中注意到,您已经在第34行定义了常量ipcMain
。在顶部调用常量是一个好习惯,您可以修改: / p>
const {app, BrowserWindow} = require('electron')
收件人:
const {app, BrowserWindow, ipcMain} = require('electron')