码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 第四节 Electron 调用H5事件结合node模块fs 实现文件拖拽读取


    系列文章目录

    第一节 electron 介绍

    第二节 创建electron项目并启动

    第三节 Electron运行流程 、 主进程渲染进程并使用nodejs

    文章目录

    目录

    系列文章目录

    文章目录

    前言

    一、通过API了解H5的拖拽事件

    二、开干!环境准备及编写代码

    1.基于之前搭建的环境进行开发 

    2.详细代码

    总结



    前言

    本文就介绍了使用H5的拖拽加上node的fs模块在electron里实现拖拽并读取文件内容。

    一、通过API了解H5的拖拽事件

    拖动事件:
    ondrag    该事件在元素正在拖动时触发     
    ondragend    该事件在用户完成元素的拖动时触发     
    ondragenter    该事件在拖动的元素进入放置目标时触发     
    ondragleave    该事件在拖动元素离开放置目标时触发     
    ondragover    该事件在拖动元素在放置目标上时触发     
    ondragstart    该事件在用户开始拖动元素时触发     
    ondrop    该事件在拖动元素放置在目标区域时触发

    二、开干!环境准备及编写代码

    1.基于之前搭建的环境进行开发 

    在index.html renderer.js编写代码

    2.详细代码

    index.html:

    1. html>
    2. <html lang="en">
    3. <head>
    4. <title>title>
    5. <meta charset="UTF-8">
    6. <meta name="viewport" content="width=device-width, initial-scale=1">
    7. <script src="./renderer/renderer.js">script>
    8. <style>
    9. h2 {
    10. color: red;
    11. }
    12. #fileTxt {
    13. border: 1px solid #666;
    14. height: 400px;
    15. width: 400px;
    16. background-color: #f0f;
    17. }
    18. style>
    19. head>
    20. <body>
    21. <h2>Electron实例 拖拽并读取文件内容h2>
    22. <div id="fileTxt">div>
    23. body>
    24. html>

    renderer.js

    1. const fs= require("fs")
    2. /*
    3. ondragenter 该事件在拖动的元素进入放置目标时触发
    4. ondragleave 该事件在拖动元素离开放置目标时触发
    5. ondragover 该事件在拖动元素在放置目标上时触发
    6. ondragstart 该事件在用户开始拖动元素时触发
    7. ondrop 该事件在拖动元素放置在目标区域时触发
    8. */
    9. window.onload = ()=>{
    10. var fileTxtDom = document.querySelector("#fileTxt")
    11. fileTxtDom.ondragenter = fileTxtDom.ondragleave = fileTxtDom.ondragover = function(){
    12. return false
    13. }
    14. fileTxtDom.ondrop=function(event){
    15. console.log(event)
    16. let filePath = event.dataTransfer.files[0].path
    17. fs.readFile(filePath,(err,docs)=>{
    18. if(err){
    19. console.log(err)
    20. return false
    21. }
    22. fileTxtDom.innerHTML = docs.toString()
    23. })
    24. }
    25. }

    总结

    以上就是今天要讲的内容,主要思路就是利用H5的拖拽事件获取到文件的地址在用node提供的fs模块读取其内容并赋值给DOM

  • 相关阅读:
    图的邻接矩阵与搜索
    SpringBoot + EasyExcel 实现表格数据导入
    Java中异或操作和OTP算法
    浅尝Spring注解开发_Servlet3.0与SpringMVC
    R基本数据类型
    java毕业设计参考文献Springboot+mysql+freemark校园竞赛报名管理平台[包运行成功]
    FreeRTOS_事件标志组
    项目管理软件dhtmlxGantt配置教程(三):配置树列
    m3u8文件格式讲解,Python解析m3u8文件,并获取在线地址
    托管服务器常见的问题有哪些(常见托管问题解决)
  • 原文地址:https://blog.csdn.net/hongc93/article/details/126281039
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号