uniapp官方api中不支持app。这里查了网上的方法总结了下
这些方法支持各种常见的文件(视频。照片。文档。表格。AND SO ON)
判断当前使用的设备
// 判断设备
fJudgePlatForm() {
let platform = ().platform;
if (platform == 'ios') {
('我是iOS')
} else if (platform == 'android') {
('我是安卓')
}
},
Android
Android 运用了HTML5+plus
// 文件下载-自定义下载目录 -- 安卓
fDownLoadFileAndroid() {
var url = '这是下载的链接'
let dtask = (url, {
/**
* 本地路径开头使用file://,跟上手机文件本地目录storage/emulated/0,就是用户文件管理器能看到的了,
* 后缀是用于文件命名和格式修改
* file://storage/emulated/0/后面就是用户文件管理的第一层,可以创建目录,
* */
filename: "file://storage/emulated/0/在这里可以创建自定义目录/" + "这里放文件名,可以对文件重命名(注:这里要带上文件后缀名).docx"
},
(d, status) => {
//d为下载的文件对象
if (status == 200) {
(d, '下载成功', status);
//下载成功,是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
let fileSaveUrl = ();
// (); //选择软件打开文件
();
} else {
//下载失败
(); //清除下载任务
}
})
();
},
// 获取本地的已下载文件列表
fGetSavedFileList() {
= [];
(
"file://storage/emulated/0/这里是你上面自定义的目录/", //指定的目录
(entry) => {
var directoryReader = (); //获取读取目录对象
(
(entries) => { //返回的是指定文件夹下的文件列表和 (OBJECT)效果一样
// (entries)
= entries
},
(err) => {
("访问目录失败");
});
},
(err) => {
("访问指定目录失败:" + );
});
},
// 安卓打开文档
fOpenFileAndroid(oFile) {
//oFile是上面获取本地的已下载文件列表中的对象
// (oFile)
(); //打开文件
},
IOS
IOS 就使用uniapp官方的api就可以
// 文件下载--IOS
fDownLoadFileIos() {
({
url: '这里是下载的地址',
success: (res) => {
if ( === 200) {
// ('下载成功', res);
({
tempFilePath: ,
success: (res) => {
// ('保存成功', res);
var savedFilePath = ;
();
}
});
}
}
});
},
// 获取本地的已下载文件列表
fGetSavedFileList() {
= [];
({
success: (res) => {
// (res);
(,'已下载的文件列表');
}
});
}
// ios打开文档
fOpenFileIos(oData) {
//上面的获取本地的已下载文件列表中的对象
({
filePath: ,
showMenu: true,
success: (res) => {
(res, '打开文档成功')
},
fail: (res) => {
(res, '打开文档失败')
}
});
},
备注:上面有的是查了网上的资料。我在这里只是吧他们总结了下,方便大家直接使用 (如有侵权请联系我)