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就可以下载打开文件预览了

相关推荐
匹马夕阳1 小时前
(二十二)安卓开发中的数据存储之SQLite简单使用
android·数据库·sqlite
_一条咸鱼_1 小时前
大厂Android面试秘籍:上下文管理模块
android·面试·android jetpack
mingzhi611 小时前
绿盟二面面试题
android·web安全·渗透测试
初遇你时动了情3 小时前
vue3 uniapp vite 配置之定义指令
javascript·vue.js·uni-app
SY.ZHOU4 小时前
Flutter 与原生通信
android·flutter·ios
Wgllss4 小时前
Android监听开机自启,是否在前后台,锁屏界面,息屏后自动亮屏,一直保持亮屏
android·架构·android jetpack
_一条咸鱼_4 小时前
大厂Android面试秘籍:Activity 组件间通信
android·面试·android jetpack
冉冉同学5 小时前
【HarmonyOS NEXT】解决微信浏览器无法唤起APP的问题
android·前端·harmonyos
韶博雅5 小时前
mysql表类型查询
android·数据库·mysql
studyForMokey5 小时前
【Android学习记录】工具使用
android·学习