1.unzip

网上看了文档看了例子,很简单的几句话,貌似挑不出毛病,但是我一写就报错

var fs = require("fs");
var unzip = require("unzip");fs.createReadStream('archiver-unzip.zip').pipe(unzip.Extract({ path: 'unarchive' }));

我一运行,就报错,primordials is not defined
折腾了一天没折腾出来

2.adm-zip

于是我问了我的同事,发现我同事用的adm-zip

用法如下:

var adm_zip = require('adm-zip');//extracting archives
var unzip = new adm_zip('adm/adm-archive.zip');  unzip.extractAllTo("adm/adm-unarchive/", /*overwrite*/true);

感人至深,成功了。

开发步骤

1.第一个桌面应用:
自行参考:https://electronjs.org/docs/tutorial/first-app
2.实现拖拽
3.实现解压

文档结构:

实现拖拽:
index.html

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style>#holder {border: 10px dashed #ccc;/* width: 300px; */height: 300px;margin: 20px auto;}#holder.hover {border: 10px dashed #333;}</style><script>//Same as $(document).ready();function ready(fn) {if (document.readyState != 'loading') {fn();} else {document.addEventListener('DOMContentLoaded', fn);}}//When the page has loaded, run this codeready(function() {// prevent default behavior from changing page on dropped filewindow.ondragover = function(e) {e.preventDefault();return false};// NOTE: ondrop events WILL NOT WORK if you do not "preventDefault" in the ondragover event!!window.ondrop = function(e) {e.preventDefault();return false};var holder = document.getElementById('holder');holder.ondragover = function() {this.className = 'hover';return false;};holder.ondragleave = function() {this.className = '';return false;};holder.ondrop = function(e) {e.preventDefault();for (var i = 0; i < e.dataTransfer.files.length; ++i) {console.log(e.dataTransfer.files[i].path);}return false;};});</script></head><body><div id="holder"></div><button id="jieya">abc</button></body>
</html>

实现解压缩:

 var test  = document.getElementById("jieya");test.onclick = function() {var adm_zip = require('adm-zip');var unzip = new adm_zip('abc.zip');  unzip.extractAllTo("adm-unarchive/", /*overwrite*/true);}

运行之后,完美解压缩

仅是示例,如有疑问,自行解决

electron解压缩相关推荐

  1. electron 解压zip_如何在Electron Framework中提取.zip文件的内容(解压缩)

    本文概述 必须先将其解压缩, 然后才能开始实际使用zip文件中的内容(文件).在本文中, 你将学习如何使用Electron Framework和decompress-zip模块解压缩.zip文件. 要 ...

  2. electron 解压zip_如何将Node.js中的.zip/.rar文件解压缩到文件夹中

    的解压与目录结构的zip文件内袋 var Zip = require('machinepack-zip'); //解压缩指定的.zip文件和写解压缩的文件/目录作为指定的目标目录的内容. Zip.un ...

  3. electron 解压zip_node.js实现简单的压缩/解压缩功能示例

    本文实例讲述了node.js实现简单的压缩/解压缩功能.分享给大家供大家参考,具体如下: 压缩的例子 非常简单的几行代码,就完成了本地文件的gzip压缩. var fs = require('fs') ...

  4. 使用Electron制作一个快速搜索应用(入门向)

    什么是Electron Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库. Electron通过将Chromium和Node.js合并 ...

  5. Electron应用-云桌面客户端

    文章目录 云桌面初认识: 3v融合端三大特性,十大亮点: Electron 简介: 术语: 主进程与渲染进程的区别: 进程之间的通信: Electron API: 主进程的部分模块解析: 渲染进程的部 ...

  6. electron打包的一些问题

    1.打包配置 在vue.config.js中 pluginOptions: {electronBuilder: {builderOptions: {win: {icon: './public/app. ...

  7. Electron介绍

    1 Electron 快速入门 简介 Electron 可以让你使用纯 JavaScript 调用丰富的原生 APIs 来创造桌面应用.你可以把它看作是专注于桌面应用而不是 web 服务器的,io.j ...

  8. Electron那些事05:保护源码asar

    [前言] 回顾之前的章节Electron那些事02:打包_uikoo9的博客-CSDN博客 打包应用这里还有一个优化点,本节来优化一下 [对比Electron应用] 对比几个electron应用的文件 ...

  9. 如何解压electron的app.asar

    目录 一.描述: 二.解压步骤: 一.描述: 目前打包electron的项目时,发现打包出的压缩包有点大,查看npm run build里面的build文件夹,发现是app.asar文件比较大, (a ...

最新文章

  1. 数组遍历 map()、forEach() 及 字符串切割 split() / 字符串截取 slice()、substring()、substr()...
  2. jvm监控jstatd使用
  3. navicat 或者workbench 无法连接127.0.0.1(61)的解决方法
  4. 项目学生:带有Jersey的Web服务客户端
  5. mysql 实现计数器_MySQL实现计数器的表设计及实现
  6. 微信消息模板配置文档对接himall
  7. H3C下一代防火墙介绍及开局指导培训答疑汇总
  8. java毕向东helloworld_毕向东java基础课学习笔记2——Hello world
  9. 豆瓣上的一条关于泰坦尼克的影评5
  10. VINS-MONO概述
  11. Pygame游戏编程
  12. 删除桌面上出现无文件名图标的方法
  13. Consul 集群单节点与多节点
  14. Rviz中控制机器人模型运动(arbotix)
  15. Android程序员该如何进阶学习以预防35岁中年职场危机?
  16. Elasticsearch 第二天
  17. 帆软决策系统后台中左上角的这个logo和名字如何修改?
  18. Java入门之~Java基础语法
  19. js中的强制类型转换和进制数表达
  20. K8s安全管理:认证、授权、准入控制

热门文章

  1. fabric roles
  2. 【GDUT】5C还是5S
  3. 统信UOS系统格式化U盘方法
  4. 解决小程序开发:未找到 app.json 中的定义的 pages “pages/index/index“ 对应的 WXML 文件
  5. 最新i7编译android源码,编译ROC-RK3328-CC Android7.1源码教程
  6. 做后台是选择Java 、Go ,还是 PHP?
  7. 怎么能更好的学习html
  8. 架构设计:系统间通信(1)——概述从“聊天”开始上篇
  9. 我在北京花1000租了独卫,真香!坚决不回老家!
  10. java开源自然语义识别_自然语义处理