[求助] 关于 UniApp 开发的 iPad App 下载问题

2023-11-24 15:53:31 +08:00
 Lenic

我现在有个需求,目前找不到成熟的方案,求大大们指点一下:

  1. 现在开发的是一个 iPad 运行的 App ,后面称为「宿主 App 」
  2. 这个宿主 App 使用了 UniApp 开发
  3. 宿主 App 中有一个页面,是个全页面的 WebView
  4. WebView 中打开了一个网页 A
  5. 网页 A 有一个下载功能,是通过 Canvas 生成的二进制文件,就是要下载这个文件

我的问题是:

  1. 如果不做任何处理,点击下载无响应
  2. 尝试过查找 WebView 的下载监听,但从文档中没有找到 // 或许是我阅读不仔细
  3. 尝试通过在网页 A 中使用 postMessage 的方式发消息到速度 App ,发现会限制消息大小,但从文档中没有找到限制 // 可能我没找到正确的地方
  4. 我曾经尝试将一个 2.3MB 的图片导出,就触发了消息大小限制,网页端调用 postMessage 后,在宿主 App 没有收到

目前我的思路是:将这个 2.3MB 图片的二进制数据,以分片的方式向宿主 App 发送,然后在宿主 App 打开一个文件写入流,将二进制写进去。

但是这个思路有问题:

各位大大,有什么思路吗?奇怪的是,我在网上搜索解决方案的过程中,发现几乎没人提出这个问题。在我看来,WebView 下载文件是一个很常见的需求,为什么没人提呢?是我有什么地方没弄对吗?

641 次点击
所在节点    前端开发
2 条回复
344457769
2023-11-24 16:07:08 +08:00
不用那么麻烦吧?如果 webview 加载的网页是你自己的,可以直接在网页里调用 html5plus 的 API ,参考这个

https://blog.csdn.net/sunhuaqiang1/article/details/128653551
Lenic
2023-11-24 23:34:43 +08:00
@344457769 感谢大佬,这个参考文档完全匹配我的需求,问题已经解决了,不用分片和 postMessage 了 👍

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/994872

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX