04_拖动文件渲染在页面中

  新建一个文件夹,跟之前一样,在 Vscode 终端里输入 yarn create electron-app Drag

  在 index.html 添加以下代码,JS 文件夹和 render.js 都是新创建的:

  首先,css 文件一般和 html 结合使用,相当于 html 是结构,而 css 是样式。在 index.css添加以下代码:

  在 index.js 里面添加以下代码,这个是与 node 接口不可缺少的:

  之后在 render.js 输入:

let holder = document.querySelector('#holder')
let readlist = document.querySelector('#readlist')
let fs = require('fs')/* drop 事件负责处理文件放置(释放)后的操作,而 dragover 事件用于控制放置前的交互和状态。这两个事件配合使用能够完整地处理拖放操作 */
holder.addEventListener('drop', (e) => {      // 事件监听,如果有拖动现象就执行回调函数e.preventDefault();     // 阻止事件默认方式,默认是拖到窗口会自动打开e.stopPropagation();    // 防止冒泡console.log(e); // 将e对象打印控制台// 打印每个文件对象的信息并输出文件路径 for(const file of e.dataTransfer.files) {  // dataTransfer 对象通常用于在拖放操作中传递数据console.log(file)console.log('文件路径:', file.path)fs.readFile(file.path, (err, data) => {     // 读取路径if(err) {console.log(err);}else{/* 创建一个新的 div 元素,并给它设置类名和内部内容,然后将它添加到 readlist 元素中 */let newDiv = document.createElement('div')  // 创建一个新的 div 元素节点,并将其存储在变量 newDiv 中newDiv.className = "readfile"newDiv.innerHTML = `<h3>${file.name}</h3><pre>${data}</pre>`readlist.appendChild(newDiv)}})}
});holder.addEventListener('dragover', (e) => {e.preventDefault();e.stopPropagation(); 
});

  最后在 Vscode 终端输入 yarn start 就可以开始应用程序啦。

  效果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux字符设备驱动开发一

linux字符设备驱动 0 驱动介绍1 字符设备驱动1.1 字符设备相关概念和结构体1.2 实现简单的字符设备模块1.3 创建字符设备1.4 总结 应用程序调用文件系统的API(open、close、read、write) -> 文件系统根据访问的设备类型&#xff0c;调用对应设备的驱动API -> 驱动对硬件进…

Overload的方法是否可以改变返回值的类型?(企业真题)

Overload的方法是否可以改变返回值的类型? 只跟方法名和形参列表有关系&#xff0c;和返回值无关。在形参列表不一样的前提下才可以改 public void method(int i){} public int method(int j,int k){}

RedisCluster集群中的插槽为什么是16384个?

RedisCluster集群中的插槽为什么是16384个&#xff1f; CRC16的算法原理。 1.根据CRC16的标准选择初值CRCIn的值2.将数据的第一个字节与CRCIn高8位异或3.判断最高位&#xff0c;若该位为0左移一位&#xff0c;若为1左移一位再与多项式Hex码异或4.重复3至9位全部移位计算结束5…

1.通过AD组策略如何做封禁高危端口的策略?AD域控如何给加域的电脑做指定端口号封禁呢?

目录 (1)高危端口简介 1. 高危端口TCP和UDP类型 2.为什么要做AD组策略封禁加域计算机的一些高危的端口?好处是什么? (2)实战步骤过程 实验环境 第一步:新建计算机策略-编辑 第二步:将策略应用到OU

基于SpringCache实现数据缓存

SpringCache SpringCache是一个框架实现了基本注解的缓存功能,只需要简单的添加一个EnableCaching 注解就能实现缓存功能 SpringCache框架只是提供了一层抽象,底层可以切换CacheManager接口的不同实现类即使用不同的缓存技术,默认的实现是ConcurrentMapCacheManagerConcurren…

面试经典-6-删除有序数组中的重复项 II

题目 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示…

【性能优化】SpringBoot 中 Redis 第一次访问慢

🤷 背景:项目中使用 Redis 时发现,第一次访问 Redis 总是比较慢。 👉 版本 JDK 17SpringBoot 3.2.1😎 小目标:让第一次访问也一样快! 测试用例 准备了一个测试用例,来模拟下多次访问 Redis: 第 1 次访问:607 ms第 2 次访问:31ms第 3 次访问:64ms/*** 测试 Red…

JUNIT5+Mockito单元测试

文章目录 1、前言2、Maven依赖2.1 JDK21SpringBoot版本基于3.1.02.2 JDK17SpringBoot版本基于2.2.5.RELEASE 3、业务代码4、单元测试 1、前言 之前写过一篇使用testMe自动生成单元测试用例&#xff0c;使用的是junit4来编写的单元测试用例&#xff0c;目前很多新项目都已经使用…

20240313寻找集成联调交付的具体方式

集成联调交付&#xff08;Integrated Joint Debugging and Delivery&#xff09;是软件开发过程中的一个阶段&#xff0c;主要涉及将不同的软件模块或组件整合在一起&#xff0c;并进行联合调试和测试&#xff0c;以确保它们能够作为一个整体正常工作。这个过程通常发生在开发周…

工程师日常:六大茶类--红茶

工程师日常&#xff1a;六大茶类–红茶 中国是世界上最早生产和饮用红茶的国家&#xff0c;作为一种氧化型发酵茶类&#xff0c;红茶的起源可以追溯到中国的明清时候&#xff0c;到18世纪中叶&#xff0c;其制作生产技术传到了印度、斯里兰卡等国。如今红茶已经成为国际茶叶市…

云仓酒庄北京朝阳区旗舰店发布活动盛况:红酒品鉴沙龙共筑美好

原标题&#xff1a;云仓酒庄北京朝阳区旗舰店活动盛况&#xff1a;红酒品鉴沙龙与招商交流共筑美好未来 在繁忙的都市中&#xff0c;有一片静谧的天地&#xff0c;那便是云仓酒庄北京朝阳区旗舰店。这里不仅是红酒爱好者的聚集地&#xff0c;更是商业交流的新平台。近日&#…

C编程基础四十分笔记

都是一些基础的C语言 一 输入一个整数&#xff0c;计算这个整数有几位二 编写程序计算一个分布函数三 输入一个字符串&#xff0c;再随便输入一个字母&#xff0c;判断这个字母出现几次四 求 1到10的阶乘之和五 求一个球体体积六 写一个链表&#xff0c;存1&#xff0c;2&#…

PlayFab 中的匹配功能

在这篇文章中,我将介绍 PlayFab 的匹配流程。 什么是匹配? 匹配允许玩家或玩家组找到彼此并通过连接到公共服务器来开始多人游戏。你可以在 PlayFab 文档中找到精彩的描述。我将向你展示端到端的过程。 PlayFab 中的匹配流程 在我之前的文章中,我解释了如何使用 Unity 和 …

BUGKU-WEB never_give_up

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 F12查看请求和响应&#xff0c;查找线索 相关工具 base64解码URL解码Burp Suit抓包 解题步骤 F12查看请求和响应&#xff0c;发现一行注释包含一个文件名称【1p.html】&#xff0c;这应该就是提…

【目标检测经典算法】R-CNN、Fast R-CNN和Faster R-CNN详解系列一:R-CNN图文详解

学习视频&#xff1a;Faster-RCNN理论合集 概念辨析 在目标检测中&#xff0c;proposals和anchors都是用于生成候选区域的概念&#xff0c;但它们在实现上有些许不同。 Anchors&#xff08;锚框&#xff09;&#xff1a; 锚框是在图像中预定义的一组框&#xff0c;它们通常以…

方案设计开发——小型充气泵方案

小型充气泵由以前的大而宽不方便携带在方案设计的优化下也变成了一个盒子大小的精巧小型充气泵&#xff0c;方便携带和使用。 小型充气泵方案是一个由压力传感器、SOC芯片及电机设计的PCBA方案&#xff0c;具有小体积、智能数显、预设胎压、动态测量等功能。 其方案设计原理是利…

Linux环境(Ubuntu)上搭建MQTT服务器(EMQX )

目录 概述 1 认识EMQX 1.1 EMQX 简介 1.2 EMQX 版本类型 2 Ubuntu搭建EMQX 平台 2.1 下载和安装 2.1.1 下载 2.1.2 安装 2.2 查看运行端口 3 运行Dashboard 管理控制台 3.1 查看Ubuntu上的防火墙 3.2 运行Dashboard 管理控制台 概述 本文主要介绍EMQX 的一些内容&a…

背包问题大合集--算法模板

背包问题模板 01背包完全背包多重背包01背包加强版二进制优化版 二维费用背包分组背包总结 01背包 一维数组优化状态转移方程 #include<bits/stdc.h> using namespace std; const int N 1010; int a[N], n, V, w, v; int main(){cin >> n >> V;//物品数量…

【零基础学习05】嵌入式linux驱动中platform与设备树基本实现

大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。 今天主要学习一下,基于总线、设备和驱动进行匹配的平台驱动模型,这次将采用设备树的platform设备与驱动的编写方法,目前绝大多数的Linux内核已经支持设备树,这次主要来…

西井科技参与IATA全球货运大会 以AI绿动能引领智慧空港新未来

3月12日至14日&#xff0c;由国际航空运输协会IATA主办的全球货运大会&#xff08;World Cargo Symposium&#xff09;在中国香港成功举办&#xff0c;这是全球航空货运领域最大规模与影响力的年度盛会。作为大物流领域全球领先的“智能化与新能源化”综合解决方案提供商&#…