前端解压压缩包,获取压缩包内带中文文件名(element)
1、下载jszip
npm i jszip -S
2、包引入jszip
import JsZip from 'jszip';
3、upload组件
添加文件
开始上传
4、在handle-change回调中书写业务逻辑
var new_zip = new JsZip();
// console.log(new_zip.loadAsync(file.raw))
new_zip.loadAsync(file.raw).then(function(file) {
//----file压缩包里的内容----//
var _array = _obj.values(file.files);
})
5、如果要获取中文名的文件,需要解码一下
this.fileList = fileList
// 文件大小
const fileSize = file.size / 1024 / 1024
console.log(file)
const _this = this
const zip = new JSZip()
// 获取zip包内容
var iconv = require('iconv-lite')
zip.loadAsync(file.raw, {
decodeFileName: function(bytes) {
return iconv.decode(bytes, 'cp936')
}
}).then(function(zip) {
console.log(zip)
// 获取压缩包里面的文件名(11/37152519950731531X_正.jpg)
const arr = Object.keys(zip.files)
})
选择上传文件,目前仅支持zip格式上传
发表评论 (审核通过后显示评论):