前端: 1 、要求就是浏览器加载本地任意图片,刷新后仍然能够显示之前的那张图片。 2 、图片只能本地获取。 这样做是让那些内存很大的图片能快速加载出来。用 input 不能读取文件路径,常规的方法可能不行了。使用 blob 的话刷新后就会再次改变了,base64 不知行不,但是对于大图片真的不行 大家有什么办法吗?最好不使用插件的情况下。
1 VDimos 2020-07-01 07:55:39 +08:00 via Android 那就 base64+web sql 呗 |
![]() | 2 rioshikelong121 2020-07-01 07:57:50 +08:00 你的所谓的大图片有多大。 |
![]() | 3 tangkaichuan 2020-07-01 08:15:08 +08:00 via Android |
4 yc8332 2020-07-01 08:15:10 +08:00 base64 存 localstorage |
![]() | 5 toma77 2020-07-01 09:32:41 +08:00 base64 |
把图片的 base64 存 localstorage 里, 但是有个问题几个大图很容易就超出 localstorage 的存储范围。 这个需求谁提的?把他解决掉 |
![]() | 7 AV1 2020-07-01 09:36:19 +08:00 ![]() 存 IndexedDB 里,IndexedDB 容量大,可以直接存 blob,不需要 base64,而且是异步的。 |
![]() | 8 LyleRockkk 2020-07-01 09:47:12 +08:00 不用服务器的话,本地图片浏览器拿到的就是文件对象,刷新就会丢了,浏览器也不能不通过用户操作直接读取本地文件,转成 base64 存 localstorage,大图,多了 localstorage 也不够用,改需求吧。 |
![]() | 9 whypool 2020-07-01 10:18:06 +08:00 从服务器拉就行了 input 上传了预览直接使用服务端生成的链接,写入 cookie,刷新了判断 cookie 返回原来的链接 这点破事能不能让后端做? |
10 phpfpm 2020-07-01 10:21:47 +08:00 我觉得你需要的是 electron 之类的,而不是浏览器的 webapp…… 先说你的原始需求。。 又 xy 了 真愁人 |
![]() | 12 pinkSlime 2020-07-01 10:31:40 +08:00 不考虑兼容的话好说 blob 转 ArrayBuffer 存 IndexedDB |
![]() | 13 des 2020-07-01 10:43:43 +08:00 @pinkSlime 这个可以支持 GB 级别的存储 硬要弄的话也不是不行 https://developer.mozilla.org/zh-CN/docs/Web/API/LocalFileSystem#requestFileSystem |
![]() | 14 Tlin OP @VDimos @rioshikelong121 @tangkaichuan @yc8332 @toma77 @nianyu @DOLLOR @LyleRockkk @whypool @phpfpm @guyeu @pinkSlime @des 谢谢回复。我用了转 base64 存 indexedDB 里,感觉还好。 |