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

相关推荐
Meteors.10 小时前
安卓源码阅读——01.grade设置binding为true时,xml如何进行映射
android·xml
_李小白11 小时前
【android opencv学习笔记】Day 26: 滤波算法之低通滤波与图像缩放插值
android·opencv·学习
NiceCloud喜云11 小时前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
我命由我1234514 小时前
Bugly - Bugly 基本使用( App 质量追踪平台)
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
weiggle15 小时前
第二篇:搭建你的第一个 Compose 项目——开发环境与项目结构
android·前端
阿巴斯甜15 小时前
为什么 AIDL 接口客户端、服务端要写两份一模一样的?
android
weiggle16 小时前
第一篇:Jetpack Compose 宣言——为什么 Android 开发需要声明式 UI
android
城管不管17 小时前
什么是Prompt?
android·java·数据库·语言模型·llm·prompt
weiggle18 小时前
Jetpack Compose 重组机制与性能优化深度剖析
android