李钊
李钊
  • 发布:2020-08-18 11:19
  • 更新:2023-11-23 14:40
  • 阅读:5154

【报Bug】uniapp通过webview进行blob文件格式下载失败,但是运行到浏览器上是可以下载的

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win8 64位

HBuilderX类型: 正式

HBuilderX版本号: 2.8.6

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: 小米

手机机型: 小米note3

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

let a= document.createElement("a");
a.href = blobUrl
a.download = "下载.doc" //这里填保存成的文件名
a.click();

预期结果:

真机下载成功

实际结果:

很简单的实例,就是拿到blob文件格式进行下载,真机上运行弹出下载框,点击下载,显示下载失败
运行到浏览器下载,就下载成功

bug描述:

let a= document.createElement("a");
a.href = blobUrl
a.download = "下载.doc" //这里填保存成的文件名
a.click();
很简单的实例,就是拿到blob文件格式进行下载,真机上运行弹出下载框,点击下载,显示下载失败
运行到浏览器下载,就下载成功

2020-08-18 11:19 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

怎么运行到webview中的?使用的web-view组件吗?还是renderjs?

  • 李钊 (作者)

    var currentWebview = this.$scope.$getAppWebview()

    //创建Webview窗口,用于加载新的HTML页面,可通过styles设置Webview窗口的样式,创建完成后需要调用show方法才能将Webview窗口显示出来。

    let wv = plus.webview.create("/hybrid/html/pages/filePlay.html","/hybrid/html/pages/filePlay.html",{

    'uni-app': 'none', //不加载uni-app渲染层框架,避免样式冲突

    top: 0,

    height: '100%',

    background: 'transparent'

    },{

    base64:that.base64,//传参

    type:that.type//文件类型

    });

    // 在Webview窗口中添加子窗口// ${that}.bbb(objecturl)

    currentWebview.append(wv);

    2020-08-18 16:19

  • 1***@qq.com

    webview 中base64的下载及blob的下载都是失败

    2020-12-01 15:26

  • 1***@qq.com

    在uniapp中,下载的api都不支持下载blob及base64格式的文件,webview中也是无法下载的,这不算一个很小的问题了

    2020-12-03 17:22

  • DCloud_UNI_GSQ

    回复 1***@qq.com: webview和很多手机浏览器确实不支持这个,后续5+会提供存储base64为文件的API。

    2020-12-03 18:19

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: ok

    2020-12-04 11:09

  • lihailan

    回复 DCloud_UNI_GSQ: blob下载二进制格式 搞好了没

    2021-01-22 17:08

DCloud_UNI_GSQ

DCloud_UNI_GSQ

APP 环境已支持存储 base64 为文件,可以参考:https://github.com/zhetengbiji/image-tools/blob/f866317abc514a14fd87adee47ef347bf4427387/index.js#L152

  • 石家庄前端

    blob 文件app端现在可以下载吗?有相关的api吗?

    2021-06-02 17:03

  • qvqv123

    能直接储存blob为文件吗

    2023-02-21 17:05

  • DCloud_UNI_GSQ

    回复 1***@qq.com: blob->base64

    2023-02-22 11:08

  • qvqv123

    试了一下,保存个500kb的,都要30秒

    2023-02-22 15:16

石家庄前端

石家庄前端 - 简书昵称:逗婆苍穹

blob 文件app端现在可以下载吗?有相关的api吗?

十年后的故事

十年后的故事 - 十年后的故事

我这边也遇到这个问题了,愁死人了

qvqv123

qvqv123

你好,作者,这个问题解决了没有

2***@qq.com

2***@qq.com - 90后IT男

我也是这样的情况app端webview加载的链接下载失败!该链接用浏览器是可以下载的

1***@qq.com

1***@qq.com

可以用plus.downloader.createDownload api下载文件;详情可以看https://www.jianshu.com/p/d827dd9ed17e

  • qvqv123

    不支持本地生成的blob,我是要保存录屏

    2023-11-25 18:23

  • 2***@qq.com

    回复 1***@qq.com: 这个问题解决了吗,我跟你一样的需求

    2023-11-30 10:23

  • 2***@qq.com

    回复 2***@qq.com: 老哥,你搞定了吗?

    2024-02-06 15:57

要回复问题请先登录注册