jszip压缩文件上传到服务器,2. jszip文件夹打包上传
[TOC]
[jszip官网](https://stuk.github.io/jszip/documentation/api_jszip/generate_async.html)
### 1. 安装
~~~
npm install jszip
yarn add jszip // 亲测有效
~~~
### 2. 引入
~~~
import JSZip from 'jszip';
import * as JSZip from 'jszip'; // 亲测有效
~~~
### 3. 使用
~~~
let zipFile: JSZip = new JSzip();
~~~
### 4. 示例
[示例1](https://codepen.io/a631807682/pen/EMEKoL?editors=1011)
~~~
function zipFiles(dom){
let zip = new JSZip();
for(let f of dom.files){
zip.file(f.webkitRelativePath, f);
}
zip.generateAsync({type:"blob"})
.then(function (blob) {
const link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = 'test.zip';
link.click();
});
}
~~~
示例2
~~~
// webkitdirectory控制是否为上传文件夹
type="file"
class="add-file-input"
v-if="dataForm.type === 'GDB' || dataForm.type === 'SHAPE'"
@change="zipFiles"
multiple="multiple"
webkitdirectory
/>
// 上传文件夹、多选文件打包上传
zipFiles(e) {
const { files } = e.target
let flag = false
const zip = new JSZip()
for (let index = 0; index < files.length; index++) {
files[index].webkitRelativePath && zip.file(files[index].webkitRelativePath, files[index])
// 判断是否包含shp文件
if (files[index].name.slice(-4) === '.shp') {
flag = true
}
}
const arrPath = files[0].webkitRelativePath.split('/')
if (
(arrPath[0].slice(-4) === '.gdb' && this.dataForm.type === 'GDB') ||
(flag && this.dataForm.type === 'SHAPE')
) {
// return promise对象 该方法是异步方法
zip.generateAsync({ type: 'Blob', compression: 'DEFLATE' }).then(content => {
// 创建file对象
const fils = new File([content], arrPath[0], { type: 'zip' })
// console.log(fils)
this.file.fileData = fils
this.dataForm.name = fils.name
this.dataForm.connection.Path = `${fils.name}.zip`
})
} else {
this.$message.error(`上传文件格式应为${this.dataForm.type}类型!`)
this.file.fileData = ''
this.dataForm.name = ''
this.dataForm.connection.Path = ''
}
},
~~~
[示例3](https://www.cnblogs.com/dearxinli/p/8422140.html)
[示例4](https://blog.csdn.net/qq2523208472/article/details/83578722)
jszip压缩文件上传到服务器,2. jszip文件夹打包上传相关推荐
- ftp 服务器的目录文件是否存在,ftp服务器的目录文件是否存在
ftp服务器的目录文件是否存在 内容精选 换一换 为了确保HBase日常数据安全,或者系统管理员需要对HBase进行重大操作(如升级或迁移等),需要对HBase业务数据进行备份,从而保证系统在出现异常 ...
- vue 调用pc端本地摄像头、麦克风实现拍照、录视频、录音 并上传到服务器指定树文件夹
vue 调用pc端本地摄像头.麦克风实现拍照.录视频.录音 并上传 自己写blog只是为了下次方便使用 过程确实很烦 ,自己摸索加各大网站cv查看 可以直接使用 1.调用摄像头拍照 录屏 首先是npm ...
- FTP命令:下载,上传FTP服务器中的文件
步骤 1: 建立 FTP 连接 想要连接 FTP 服务器,在命令上中先输入ftp然后空格跟上 FTP 服务器的域名 'domain.com' 或者 IP 地址例如:1.ftp domain.com2. ...
- 网站文件上传到服务器怎么不显示,我已经上传文件,为什么还看不到网站首页?...
首页 > 虚拟主机 > 已经上传文件还看不到网站 我已经上传文件,为什么还看不到网站首页? 有时候主机用户已经上传了网页文件,但是访问域名的时候,还是看不到他的网站.可能看到的是类似这样的 ...
- centos把文件传到服务器,如何将文件传到远程centos服务器上
如何将文件传到远程centos服务器上 内容精选 换一换 本章节介绍如何将下载的证书安装到IIS服务器上.安装好证书后,您的Web服务器将能支持SSL通信,从而保证您Web服务器的通信安全.如果证书安 ...
- 怎么把手机文件导入华为云服务器,华为手机怎么把软件上传到云服务器
华为手机怎么把软件上传到云服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分 ...
- ftp上传显示服务器错误,FTP文件夹错误:打开FTP服务器上的文件夹时发生错误
问题描述:通过我的电脑或资源管理器连接FTP服务器时提示"FTP文件夹错误:打开FTP服务器上的文件夹时发生错误.请检查是否有权限访问该文件夹.详细信息:The operation time ...
- 本机文件怎么拉到服务器,本机文件怎么传到云服务器上
本机文件怎么传到云服务器上 内容精选 换一换 将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式.本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows云 ...
- apk文件上传到服务器,把apk文件上传到云服务器
把apk文件上传到云服务器 内容精选 换一换 RedisShake是一款开源的Redis迁移工具,支持Cluster集群的在线迁移与离线迁移(备份文件导入),但是部署在其他云厂商Redis服务上的Cl ...
- 文件夹加密超级大师会把文件上传到服务器吗,【共享文件夹加密超级大师怎么用】共享文件夹加密超级大师好不好_使用技巧-ZOL软件百科...
共享文件夹加密超级大师专为企业用户设计,有效保护局域网共享文件夹.软件提供了共享文件夹用户权限设置功能,可以为每一个用户分配不同的权限,完美解决了"共享即不能保密,保密即不能共享" ...
最新文章
- android好用的第三方库2018使用总结
- IBASE structure
- 链表题目汇总(python3)
- 2017-12-09 JavaScript实现ZLOGO子集: 测试用例
- 使用git时报错出现vim.exe.stackdump
- Example3_3
- 位于地下88米,一晚6000块,上海这家酒店房间内竟还有玄机!
- 执行Linux脚本出错,出现No Such file or directory异常
- MSP430学习笔记10-ADC采集1602显示
- 关于昆仑通态通道处理设置
- MySQL唯一索引和普通索引的区别
- 如何测试扫码支付二维码?
- Opencv-获取两点之间距离
- 订单导出(淘宝天猫)
- CSS — 导航栏篇(一)
- Linux/ Unix 键盘检测程序
- spring的事务依赖
- 筑龙网下载的文件格式是php_建筑工程竣工验收资料填报指南(范本)
- 2020-12-10 MATLAB学习小结(十九)
- 红米note2位置服务器,红米Note2
热门文章
- Java 8的新特性(入门)
- 【学习笔记】福州大学网络课程 网络空间安全概论(1,4)
- android 反编译 签名,Android反编译及重签名命令
- 用微信名片制作软件打造专属的电子名片
- tcl语言读取文件一行_TCL语言笔记:TCL基础语法
- android使用h5框架,轻量级Android H5 Native Hybrid 框架
- 安装了谷歌服务框架还是闪退_小米手机安装谷歌服务(Google play)
- 爬取mzitu图 线程 进程
- lnmp一键安装包 php7,LNMP一键安装包 V1.7 正式版发布
- Android 系统root教程-magisk最新版