V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xiaohantx
V2EX  ›  问与答

想问下前端做打包是否可行

  •  
  •   xiaohantx · 2022-03-31 09:45:42 +08:00 · 2110 次点击
    这是一个创建于 970 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如二维码需要批量下载,后端返回 100 个 code,前端把这 100 个 code 本地转成 100 个二维码然后再进行本地打包后下载。
    15 条回复    2022-04-01 09:47:00 +08:00
    ysc3839
        1
    ysc3839  
       2022-03-31 09:47:40 +08:00 via Android
    显然是可以的,有纯 js 实现的 zip 压缩
    cheng6563
        2
    cheng6563  
       2022-03-31 09:49:48 +08:00   ❤️ 1
    wasm 都快成新一代容器平台了,你说啥玩意不能做
    3dwelcome
        3
    3dwelcome  
       2022-03-31 09:54:12 +08:00
    我以前一直用 JSON ,认为 JS 可能不太适合处理二进制数据。

    后来才知道这是人生错觉之一。
    xiaohantx
        4
    xiaohantx  
    OP
       2022-03-31 09:59:48 +08:00
    @ysc3839 每个图片应该要先缓存一下然后再打包吧。
    ysc3839
        5
    ysc3839  
       2022-03-31 10:06:34 +08:00 via Android
    @xiaohantx 什么意思?
    xiaohantx
        6
    xiaohantx  
    OP
       2022-03-31 10:11:54 +08:00
    @ysc3839 就是打包问题不大,但是打包里的内容(即二维码)是不是要先保存下来再打包
    chnwillliu
        7
    chnwillliu  
       2022-03-31 10:21:23 +08:00 via Android
    @xiaohantx 不用,生成的图片暂时放内存里就行。
    ysc3839
        8
    ysc3839  
       2022-03-31 10:24:39 +08:00 via Android
    @xiaohantx 不需要保存到硬盘,直接存在变量里就可以
    bnm965321
        9
    bnm965321  
       2022-03-31 11:25:33 +08:00
    生成 Image, File 对象。然后用 zip.js 打包成 Blob? 让用户下载即可
    gamexg
        10
    gamexg  
       2022-03-31 12:05:37 +08:00 via Android
    之前发现 js 能直接生成 excel 文件,当时惊呆了
    zhouyg
        11
    zhouyg  
       2022-03-31 14:20:29 +08:00
    前端可以操作二进制数据,可以把 100 张图片打包成一个压缩包,借助 worker/wasm 甚至都不会卡顿
    libook
        12
    libook  
       2022-03-31 14:47:22 +08:00
    HTML5 之后就基本可以实现在前端对数据进行二进制处理,然后以下载的形式让用户保存文件到特定位置。
    libook
        13
    libook  
       2022-03-31 14:48:34 +08:00
    浏览器本身是有缓存的,可能是内存,也可能是浏览器自己的临时缓存文件,图片要先从服务器上下载到浏览器的缓存里,然后进行打包,再生成压缩包让用户保存。
    Pionxzh
        14
    Pionxzh  
       2022-04-01 09:26:05 +08:00 via Android
    可行,但你这个需求够奇怪的
    xiaohantx
        15
    xiaohantx  
    OP
       2022-04-01 09:47:00 +08:00
    @Pionxzh 因为二维码图片要打印出来,但是后端不想把二维码生成并打包放在服务器进行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3940 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 05:10 · PVG 13:10 · LAX 21:10 · JFK 00:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.