phpfpm
V2EX  ›  问与答

APP 内部的 webview 展示的图片长按保存到相册只支持直接请求 URL,不支持登录信息和 base64data,这个设计合理么?

  •  
  •   phpfpm · Jul 10, 2020 · 2048 views
    This topic created in 2316 days ago, the information mentioned may be changed or developed.

    某企业 im 内置的 webview

    长按图片选择保存到相册提示保存失败

    和移动端的同事联调之后发现被 403 了,原因是把图片的 url 直接发送到了某个下载管理器之后保存,这个过程中丢失了登录的 cookie,也无法支持本身是 src=data:base64 的 webcanvas 图片。

    移动端同事讲这个是 feature 不是 bug,你们觉得这个合理么?

    16 replies  •  2020-07-12 00:00:36 +08:00
    xiangyuecn
    xiangyuecn
    Jul 10, 2020
    1
    因为做 app 的临时工懒 或者 压根不懂。data url 还好,blob url 就支持的更惨烈了,包括微信里面这种垃圾浏览器就不支持
    phpfpm
    phpfpm
    OP
    Jul 10, 2020
    2
    @xiangyuecn 但是正常的 img 的 url 不带 cookie,不能下载需要登录的图这件事情就不能忍啊。。。
    crystom
    crystom
    Jul 10, 2020
    3
    图片链接应该有 token 吧,很多对象存储都支持
    phpfpm
    phpfpm
    OP
    Jul 10, 2020
    4
    @crystom 所以不支持基于 cookie 校验的图片是正常的?
    ntdll
    ntdll
    Jul 10, 2020
    5
    这取决于产品设计,如果图片本身就不希望未获得授权的人随意访问,这个设计就很合理。

    所以,不谈场景,说是不是合理就是耍流氓。
    phpfpm
    phpfpm
    OP
    Jul 10, 2020
    6
    @gam2046 不不不,两码事

    不管是基于 token 还是基于 cookie,都是一定的访问控制。

    现在一个用户可以在 webview 正常看到图片,他就应该能够长按保存这张图片——难道还取决于是 token 还是 cookie 么
    ntdll
    ntdll
    Jul 10, 2020
    7
    > 现在一个用户可以在 webview 正常看到图片,他就应该能够长按保存这张图片

    这里面没有因果关系,你现在可以看,不能推导出你以后可以看,更不能推导出你可以自由地二次分发出去。
    laoyur
    laoyur
    Jul 10, 2020
    8
    > 是把图片的 url 直接发送到了某个下载管理器之后保存

    都说是发往第三方了,又是个 GET 请求,我觉得只传递一个 URL 过去很合理
    phpfpm
    phpfpm
    OP
    Jul 10, 2020
    9
    @gam2046 如果不想让用户长按保存,为什么还有长按保存的功能呢

    用户有的图片能保存有的不能,这个体验很奇怪啊。
    phpfpm
    phpfpm
    OP
    Jul 10, 2020
    10
    @laoyur 但是 pc 的浏览器为啥能做到原地的 saveas
    kera0a
    kera0a
    Jul 10, 2020 via iPhone
    11
    @phpfpm 那就让你们移动端的同事像桌面浏览器一样,把 webview 的网络请求接管过来,图片缓存到本地,要下载就从本地缓存里拷贝呗
    laoyur
    laoyur
    Jul 10, 2020
    12
    @phpfpm webview 是个阉割版的浏览器,它隶属于 app,但没法跟 app 沟通怎么保存图片,所以就跳去了默认浏览器
    pc 浏览器是完整浏览器,原地 saveas 就是它自己实现的保存到本地
    用户体验是有不足,但“调用第三方打开某个 URL 时不传递 cookies 等其他 headers”这一行为,我觉得没问题
    phpfpm
    phpfpm
    OP
    Jul 10, 2020
    13
    @kera0a
    @laoyur

    嗯 我的意思是要做技术上肯定能实现,但是就是认为不是 bug 就有点……

    反正他们很厉害我们争不过
    ntdll
    ntdll
    Jul 10, 2020
    14
    你这是不是耍赖。

    我和你说产品设计,你告诉我说逻辑;
    我和你说逻辑关系,你告诉我说奇怪;

    所以你的中心思想,就是和你想的不一样,就是不对呗。
    phpfpm
    phpfpm
    OP
    Jul 10, 2020
    15
    @gam2046 我没太懂你的意思。。

    这个体验确实是不对啊。。
    crystom
    crystom
    Jul 12, 2020
    16
    长按保存到相册这个功能应该是需要移动开发手撸的,想做成跟浏览器一样还真不那么容易。还有一个是 302 跳转的返回功能,在浏览器内习以为常的自带功能在 webview 开发就是一大段代码
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4499 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 07:14 · PVG 15:14 · LAX 23:14 · JFK 02:14
    ♥ Do have faith in what you're doing.