uni-app小程序:文件下载打开文件方法苹果安卓都适用

api:

复制代码
const filetype = e.substr(e.lastIndexOf('.')+1)//获取文件地址的类型
console.log('文档',filetype)
uni.downloadFile({
	url: e,//e是图片地址
    success(res) {
	console.log(res)
	if (res.statusCode === 200) {
		console.log('下载成功',);
		var filePath = encodeURI(res.tempFilePath);//这里直接复制不用改值
		uni.openDocument({
		    filePath: encodeURI(filePath),
		    fileType: filetype,//这样文件地址是什么类型,api打开的就是什么类型了,前提是uni.openDocument支持的类型
			showMenu: true,
			success: function(res) {
				console.log('打开文档成功');
				  },
				fail(e) {
					console.log('打开失败',e)
						}
						   });
						} else {
						    console.log('下载失败');
					    }
					}
				});

encodeURI的作用:

encodeURI函数将URI中的特殊字符转换为它们的UTF-8编码表示形式,以确保它们在传输和处理过程中不会被误解或错误解析。这样可以避免因特殊字符导致的错误或安全问题。

源码:

运行效果:

点击文件1就可以下载打开文件预览了

相关推荐
不法4 小时前
uniapp map地图导航/地图路线
前端·vue.js·uni-app
bobuddy4 小时前
平台总线(platform bus)
android
plainGeekDev4 小时前
libs 目录 → Gradle 依赖管理
android·java·kotlin
黄华SJ520it4 小时前
线上线下多门店融合系统开发指南
小程序·系统开发
帅次5 小时前
Android 高级工程师面试:Flutter Widget 体系 近1年高频追问 20 题
android·flutter·面试·element·widget·setstate·renderobject
帅次5 小时前
Android 高级工程师面试:Jetpack 核心 近1年高频追问 20 题
android·面试·协程·jetpack·stateflow·lifecycle
爱笑鱼6 小时前
Handler(四):Handler 卡顿怎么定位?从 Slow delivery 到 Slow dispatch
android
九皇叔叔6 小时前
RHEL9.8 配置本地镜像仓库
android·java·缓存
私人珍藏库7 小时前
[Android] 聊天记录微备份 -聊天记录备份+本地数据备份
android·人工智能·app·软件·多功能
私人珍藏库8 小时前
[Android] PocketPal -本地离线AI助手+大模型部署神器
android·人工智能·app·软件·多功能