码农知识堂 - 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

  • 相关阅读:
    uniapp地图点击获取位置
    计算机算法分析与设计(4)---矩阵连乘问题(含C++代码)
    JSON和实体类,LIst互相转换
    Windows 10 docker-compose 自动化构建【lnmp】
    JVM 垃圾回收算法
    分类预测 | MATLAB实现WOA-CNN-BiLSTM-Attention数据分类预测
    【接口自动化测试】HTTP协议详解
    nginx
    多测师肖sir_高级金牌讲师_jenkins搭建
    一文澄清网上对 ConcurrentHashMap 的一个流传甚广的误解!
  • 原文地址:https://blog.csdn.net/hongc93/article/details/126281039
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号