乃斯乃斯
乃斯乃斯
  • 发布:2024-10-17 15:36
  • 更新:2024-10-17 16:06
  • 阅读:68

【报Bug】h5文件下载失败

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

浏览器平台: 微信内置浏览器

项目创建方式: CLI

CLI版本号: vite 4.3.5

示例代码:
let blob = new Blob([fileData]);  
let downloadElement = document.createElement("a");  
let href = window.URL.createObjectURL(blob); //创建下载的链接  

let name = fileName.split('.')[0] //  
console.log(name);  
// saveAs(href, `${name}.${preType}`)  

downloadElement.style.display = 'none'  
downloadElement.href = href;  
downloadElement.download = name; //下载后文件名  
document.body.appendChild(downloadElement);  
downloadElement.click(); //点击下载  
document.body.removeChild(downloadElement); //下载完成移除元素  
window.URL.revokeObjectURL(href); //释放掉blob对象

操作步骤:

在pc浏览器上能下载,打包H5嵌入到app内不行,微信浏览器打开里也不行

预期结果:

成功下载

实际结果:

下载

bug描述:

使用vite创建的项目,在开发环境浏览器下载可以,打包h5到生产环境文件流下载失败,提示打开系统浏览器下载

2024-10-17 15:36 负责人:无 分享
已邀请:
靐齉齾麤龖龗

靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人

这是app或者微信拦截了的,你需要引导用户打开浏览器下载,app嵌入之后看有没有plus对象,可以使用plus对象的下载。微信你要找微信,不然只能打开浏览器。。你看就算你丢个下载路径使用微信打开都不会给你下载

  • 乃斯乃斯 (作者)

    H5 不能用plus,使用file-saver也不行,裂开了

    2024-10-17 16:46

要回复问题请先登录注册