V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
Tlin
V2EX  ›  JavaScript

浏览器刷新后仍显示之前已加载的本地图片的方法有哪些

  •  
  •   Tlin · 2020-07-01 07:37:13 +08:00 · 2764 次点击
    这是一个创建于 1611 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前端: 1 、要求就是浏览器加载本地任意图片,刷新后仍然能够显示之前的那张图片。 2 、图片只能本地获取。 这样做是让那些内存很大的图片能快速加载出来。用 input 不能读取文件路径,常规的方法可能不行了。使用 blob 的话刷新后就会再次改变了,base64 不知行不,但是对于大图片真的不行 大家有什么办法吗?最好不使用插件的情况下。

    14 条回复    2020-07-02 08:30:45 +08:00
    VDimos
        1
    VDimos  
       2020-07-01 07:55:39 +08:00 via Android
    那就 base64+web sql 呗
    rioshikelong121
        2
    rioshikelong121  
       2020-07-01 07:57:50 +08:00
    你的所谓的大图片有多大。
    tangkaichuan
        3
    tangkaichuan  
       2020-07-01 08:15:08 +08:00 via Android
    yc8332
        4
    yc8332  
       2020-07-01 08:15:10 +08:00
    base64 存 localstorage
    toma77
        5
    toma77  
       2020-07-01 09:32:41 +08:00
    base64
    nianyu
        6
    nianyu  
       2020-07-01 09:32:41 +08:00
    把图片的 base64 存 localstorage 里, 但是有个问题几个大图很容易就超出 localstorage 的存储范围。
    这个需求谁提的?把他解决掉
    DOLLOR
        7
    DOLLOR  
       2020-07-01 09:36:19 +08:00   ❤️ 1
    存 IndexedDB 里,IndexedDB 容量大,可以直接存 blob,不需要 base64,而且是异步的。
    LyleRockkk
        8
    LyleRockkk  
       2020-07-01 09:47:12 +08:00
    不用服务器的话,本地图片浏览器拿到的就是文件对象,刷新就会丢了,浏览器也不能不通过用户操作直接读取本地文件,转成 base64 存 localstorage,大图,多了 localstorage 也不够用,改需求吧。
    whypool
        9
    whypool  
       2020-07-01 10:18:06 +08:00
    从服务器拉就行了

    input 上传了预览直接使用服务端生成的链接,写入 cookie,刷新了判断 cookie 返回原来的链接

    这点破事能不能让后端做?
    phpfpm
        10
    phpfpm  
       2020-07-01 10:21:47 +08:00
    我觉得你需要的是 electron 之类的,而不是浏览器的 webapp……

    先说你的原始需求。。
    又 xy 了 真愁人
    guyeu
        11
    guyeu  
       2020-07-01 10:31:11 +08:00
    @whypool #9 能不能详细说一下,这个思路比较清奇。。
    pinkSlime
        12
    pinkSlime  
       2020-07-01 10:31:40 +08:00
    不考虑兼容的话好说 blob 转 ArrayBuffer 存 IndexedDB
    des
        13
    des  
       2020-07-01 10:43:43 +08:00
    @pinkSlime 这个可以支持 GB 级别的存储

    硬要弄的话也不是不行
    https://developer.mozilla.org/zh-CN/docs/Web/API/LocalFileSystem#requestFileSystem
    Tlin
        14
    Tlin  
    OP
       2020-07-02 08:30:45 +08:00
    @VDimos
    @rioshikelong121
    @tangkaichuan
    @yc8332
    @toma77
    @nianyu
    @DOLLOR
    @LyleRockkk
    @whypool
    @phpfpm
    @guyeu
    @pinkSlime
    @des
    谢谢回复。我用了转 base64 存 indexedDB 里,感觉还好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5394 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:52 · PVG 15:52 · LAX 23:52 · JFK 02:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.