V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
v2410117
V2EX  ›  程序员

Web 是不是没办法保存图片到相册呢?

  •  
  •   v2410117 · 2020-05-10 09:46:09 +08:00 · 5637 次点击
    这是一个创建于 1419 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个需求是请求网络返回了 3 张图片的 url,需要点击一键保存,然后将这 3 张图片保存到手机相册中,我在网上找了好久,都没有找到能用的方法,比如 h5+,但好像 h5+是需要打包成 app,我这个就是个单纯的 web 在浏览器里用,不需要打包成 app,请问前端有办法将 url 保存至手机相册吗?我看网上说好像浏览器没这个权限还是怎么,对前端不太懂,还请大神赐教!

    15 条回复    2020-05-10 17:07:23 +08:00
    ysc3839
        1
    ysc3839  
       2020-05-10 09:50:09 +08:00 via Android
    大概是没有,不过点击后自动下载是有的。
    v2410117
        2
    v2410117  
    OP
       2020-05-10 09:56:15 +08:00
    @ysc3839 点击自动下载是啥意思?浏览器下载?我主要是需要保存至相册,也主要是 iOS 上使用,我在网上尝试找到个方法,就是下载的,点击后是下载到 Safari 的下载器里了,并没有保存到相册中!
    ahhui
        3
    ahhui  
       2020-05-10 09:59:06 +08:00 via iPhone
    试试 iOS 的捷径,应该可以做到
    ysc3839
        4
    ysc3839  
       2020-05-10 10:04:55 +08:00 via Android
    @v2410117 是浏览器下载
    v2410117
        5
    v2410117  
    OP
       2020-05-10 10:05:48 +08:00   ❤️ 1
    @ahhui 你的意思是通过 web 调起捷径保存?需求就是要尽可能的简单,iOS 端我倒是一键保存了,但在 web 上实在是实现不了
    redeemer1001
        6
    redeemer1001  
       2020-05-10 10:29:02 +08:00
    @v2410117 #2 下载就是这样 保存到相册是不可能的 浏览器不支持 可以考虑 web 调起本地 app 去操作
    noobma
        7
    noobma  
       2020-05-10 10:50:12 +08:00
    弄个提示类似 “长按保存到相册” 这种
    itning
        8
    itning  
       2020-05-10 10:53:44 +08:00
    浏览器不允许访问本地存储介质
    sugarkeek
        9
    sugarkeek  
       2020-05-10 10:56:22 +08:00
    应该有,之前用 uniapp 的时候调用存储,h5 也是可以的。你找找
    SilentDepth
        10
    SilentDepth  
       2020-05-10 12:11:07 +08:00
    纯 Web 做不到,浏览器不会允许你访问本地文件系统。要么提示用户使用浏览器内置功能,要么利用壳( WebView 、微信小程序 SDK 等各种环境)的 API 完成。
    ahhui
        11
    ahhui  
       2020-05-10 12:37:29 +08:00 via iPhone
    @v2410117 App Store 里搜索快捷指令,下载后打开,点击我的快捷指令,点右上角加号,添加第一个动作为获取剪贴板,第二个动作为获取网页内容,第三个动作为保存到相册。这是最简单的方式了。如果要支持多个 url,你可以自行研究。
    fairytale110
        12
    fairytale110  
       2020-05-10 14:24:56 +08:00
    保存都是原生操作,uniapp 那个也是一样的。。
    gouflv
        13
    gouflv  
       2020-05-10 15:19:09 +08:00 via iPhone   ❤️ 1
    产品经理又拍脑袋了
    mengminggo
        14
    mengminggo  
       2020-05-10 16:07:59 +08:00 via Android
    加个下载不行吗,我记得有个强制下载的属性
    DOLLOR
        15
    DOLLOR  
       2020-05-10 17:07:23 +08:00   ❤️ 2
    网页是跑在 sandbox 里的,要有用户授权(比如另存为对话框、打开对话框)才能访问用户的存储介质,原因就是为了安全。
    试想,你访问我的网页,我就能把你硬盘上的东西全扒了,再到处写入垃圾文件,你还会觉得这个互联网有安全感么?
    同时,你也应该明白了,为啥很多互联网服务都在弱化网页版(比如知乎、闲鱼、贴吧等等),就是因为网页版没法耍流氓呀。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2722 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:07 · PVG 23:07 · LAX 08:07 · JFK 11:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.