码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vue 预览zip


            ZIP的数据从接口传递数据流过来。解析数据流,并将zip的目录绑定到tree中。

    1.引入插件jszip:

            yarn add jszip

    2.在需要引用的页面引用:

            import JSZip from 'jszip'

    3. 实现代码

            

    1. api(option).then((res)=>{ // 接口获取zip的数据流
    2. let jszip = new JSZip()
    3. jszip.loadAsync(res.data).then(zip=>{
    4. let myData=[]
    5. that.transformData(zip, myData,0,)
    6. that.treeData=myData // 将数据绑定到tree
    7. that.$nextTick(()=>{
    8. that.expandedKeys=['0']
    9. })
    10. })
    11. });
    12. transformData(obj, myData, level = 0,) {
    13. let id=0
    14. if(Object.keys(obj.files).length==0){
    15. let fname=this.fileName.substring(0, this.fileName.lastIndexOf("."))
    16. let rootData={id:'0',parentId:'', key:'0',title:fname, children:[]}
    17. myData.push(rootData)
    18. }else{
    19. for (let key in obj.files) {
    20. let array=key.split('/').filter(item => item != '')
    21. if(array.length == level+1){
    22. if (obj.files[key].dir) {
    23. if(level==0){
    24. let rootData={parentId:'', key:'0',title:array[level], children:[]}
    25. myData.push(rootData)
    26. this.transformData(obj, rootData,level+1)
    27. }else{
    28. if(key.indexOf(myData.fullName)===0 && key!= myData.fullName){
    29. let newData={ key:myData.id+'-'+id,parentId:myData.id, title:array[level],children:[],fullName:key}
    30. myData.children.push(newData)
    31. id++
    32. this.transformData(obj, newData,level+1)
    33. }
    34. }
    35. }else{ // 文件
    36. if(key.indexOf(myData.fullName)==0 && key!=myData.fullName){
    37. let data= {parentId:myData.id, key:myData.id+'-'+id,title:array[level],}
    38. myData.children.push(data)
    39. id++
    40. }
    41. }
    42. }
    43. }
    44. }
    45. return myData;
    46. },

  • 相关阅读:
    软考软件设计师-存储管理-文件管理-计算机网络(中
    初始化一个Vue3项目
    2022-A rch安装(详细)
    HJ65 查找两个字符串a,b中的最长公共子串
    1626C - Monsters And Spells ,D - Carry Bit 组合数学
    tf.compat
    Mybatis--动态sql
    SAP 设置不能用ME52N修改PR,但需要PR的修改权限
    《计算机是怎样跑起来的》计算机三大原则、TCP/IP、xml
    Codeforces Round 908
  • 原文地址:https://blog.csdn.net/reembarkation/article/details/132856956
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号