前端: 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
|
6
nianyu 2020-07-01 09:32:41 +08:00
把图片的 base64 存 localstorage 里, 但是有个问题几个大图很容易就超出 localstorage 的存储范围。
这个需求谁提的?把他解决掉 |
7
DOLLOR 2020-07-01 09:36:19 +08:00 1
存 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 里,感觉还好。 |