1 前言
1.1 业务场景
附件zip上传到服务器后,在页面中可直接查看zip中的文件内容,如:readme.txt。
2 实现原理
2.1 引入工具库
jszip、jszip-utils
npm i jszip -S
npm i jszip-utils -S
2.2 查看txt中内容
// 查看
view(row){
var JSZip = require("jszip")
var JSZipUtils = require("jszip-utils")
let that = this
JSZipUtils.getBinaryContent(row.downloadPath, function(err, data) {
if(err) {
throw err;
}
JSZip.loadAsync(data).then(function (files) {
files.files['readme.txt'].async("string").then(function(con){
that.content = con
that.dialog = true
})
})
})
},
在vue中引入,其中在JSZipUtils
使用中this
的指向进行了重定向。
row.downloadPath
是附件的下载地址,con
是txt中内容。
readme.txt
是要查看的文件名+后缀。
这里使用了input
定义的v-model="content"
来展示。
3 后记
感谢支持。若不足之处,欢迎大家指出,共勉。
如果觉得不错,记得 点赞 ,谢谢大家 😂
这两个库都是关于JS处理压缩文件的,功能很多,目前只学到了一小点,更多功能还需再研究。
3.1 参考资料
本文章采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。