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对象
- 发布:2024-10-17 15:36
- 更新:2024-10-17 16:06
- 阅读:68
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
浏览器平台: 微信内置浏览器
项目创建方式: CLI
CLI版本号: vite 4.3.5
示例代码:
操作步骤:
在pc浏览器上能下载,打包H5嵌入到app内不行,微信浏览器打开里也不行
在pc浏览器上能下载,打包H5嵌入到app内不行,微信浏览器打开里也不行
预期结果:
成功下载
成功下载
实际结果:
下载
下载
bug描述:
使用vite创建的项目,在开发环境浏览器下载可以,打包h5到生产环境文件流下载失败,提示打开系统浏览器下载
靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人
这是app或者微信拦截了的,你需要引导用户打开浏览器下载,app嵌入之后看有没有plus对象,可以使用plus对象的下载。微信你要找微信,不然只能打开浏览器。。你看就算你丢个下载路径使用微信打开都不会给你下载
乃斯乃斯 (作者)
H5 不能用plus,使用file-saver也不行,裂开了
2024-10-17 16:46