xiaohantx
V2EX  ›  问与答

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

  •  
  •   xiaohantx · Mar 31, 2022 · 2540 views
    This topic created in 1531 days ago, the information mentioned may be changed or developed.
    比如二维码需要批量下载,后端返回 100 个 code,前端把这 100 个 code 本地转成 100 个二维码然后再进行本地打包后下载。
    15 replies    2022-04-01 09:47:00 +08:00
    ysc3839
        1
    ysc3839  
       Mar 31, 2022 via Android
    显然是可以的,有纯 js 实现的 zip 压缩
    cheng6563
        2
    cheng6563  
       Mar 31, 2022   ❤️ 1
    wasm 都快成新一代容器平台了,你说啥玩意不能做
    3dwelcome
        3
    3dwelcome  
       Mar 31, 2022
    我以前一直用 JSON ,认为 JS 可能不太适合处理二进制数据。

    后来才知道这是人生错觉之一。
    xiaohantx
        4
    xiaohantx  
    OP
       Mar 31, 2022
    @ysc3839 每个图片应该要先缓存一下然后再打包吧。
    ysc3839
        5
    ysc3839  
       Mar 31, 2022 via Android
    @xiaohantx 什么意思?
    xiaohantx
        6
    xiaohantx  
    OP
       Mar 31, 2022
    @ysc3839 就是打包问题不大,但是打包里的内容(即二维码)是不是要先保存下来再打包
    chnwillliu
        7
    chnwillliu  
       Mar 31, 2022 via Android
    @xiaohantx 不用,生成的图片暂时放内存里就行。
    ysc3839
        8
    ysc3839  
       Mar 31, 2022 via Android
    @xiaohantx 不需要保存到硬盘,直接存在变量里就可以
    bnm965321
        9
    bnm965321  
       Mar 31, 2022
    生成 Image, File 对象。然后用 zip.js 打包成 Blob? 让用户下载即可
    gamexg
        10
    gamexg  
       Mar 31, 2022 via Android
    之前发现 js 能直接生成 excel 文件,当时惊呆了
    zhouyg
        11
    zhouyg  
       Mar 31, 2022
    前端可以操作二进制数据,可以把 100 张图片打包成一个压缩包,借助 worker/wasm 甚至都不会卡顿
    libook
        12
    libook  
       Mar 31, 2022
    HTML5 之后就基本可以实现在前端对数据进行二进制处理,然后以下载的形式让用户保存文件到特定位置。
    libook
        13
    libook  
       Mar 31, 2022
    浏览器本身是有缓存的,可能是内存,也可能是浏览器自己的临时缓存文件,图片要先从服务器上下载到浏览器的缓存里,然后进行打包,再生成压缩包让用户保存。
    Pionxzh
        14
    Pionxzh  
       Apr 1, 2022 via Android
    可行,但你这个需求够奇怪的
    xiaohantx
        15
    xiaohantx  
    OP
       Apr 1, 2022
    @Pionxzh 因为二维码图片要打印出来,但是后端不想把二维码生成并打包放在服务器进行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5610 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 06:53 · PVG 14:53 · LAX 23:53 · JFK 02:53
    ♥ Do have faith in what you're doing.