uniapp嵌入web-view的页面访问app本地目录文件
app端:
this_.wv.overrideResourceRequest([{
match: 'http://xxxx.com/aaaaa/aa.js', // 需要有一个虚假的域名过dns,可以随便瞎写
redirect: res
}]);
res的值就是tempFilePath的值:
uni.downloadFile({
url, // 远程文件需要下载到手机的真实文件的URL
success: (res) => {
if (res.statusCode === 200) {
const tempFilePath = res.tempFilePath; // 获取临时文件路径
// 保存文件到应用的某个目录
uni.saveFile({
tempFilePath: tempFilePath,
success: (saveRes) => {
const savedFilePath = saveRes.savedFilePath; // 获取保存后的文件路径
resolve(tempFilePath);
console.log("mxmconk1111222:",savedFilePath)
},
fail: (saveErr) => {
console.error('文件保存失败:', saveErr);
}
});
} else {
console.error('下载失败:', res.statusCode);
}
},
fail: (downloadErr) => {
console.error('下载失败:', downloadErr);
}
});
})
h5端就可以使用动态加载插入js文件 css文件了
const scriptSrc = `http://xxxx.com/aaaaa/aa.js`;
const script = document.createElement('script');
script.src = scriptSrc;
script.async=true;
document.head.appendChild(script);
上面的方案对安卓可行,ios存在兼容问题.使用下面的全面支持的方案: h5页面动态加载js使用: file://+文件绝对路径可访问到.
/下载远程文件保存到本地
function downLoadFile(url: any) {
return new Promise((resolve, reject) => {
// 下载文件
uni.downloadFile({
url, // 远程文件 URL
success: (res) => {
if (res.statusCode === 200) {
const tempFilePath = res.tempFilePath; // 获取临时文件路径
// 保存文件到应用的某个目录
uni.saveFile({
tempFilePath: tempFilePath,
success: (saveRes) => {
const savedFilePath = saveRes.savedFilePath; // 获取保存后的文件路径
const fileSaveUrlAb = plus.io.convertLocalFileSystemURL(savedFilePath);//获取绝对路径
resolve(fileSaveUrlAb);
console.log('mxmcon文件地址:', savedFilePath,tempFilePath,plus.io.convertLocalFileSystemURL(savedFilePath));
},
fail: (saveErr) => {
console.error('文件保存失败:', saveErr);
},
});
} else {
console.error('下载失败:', res.statusCode);
}
},
fail: (downloadErr) => {
console.error('下载失败:', downloadErr);
},
});
});
}
您还未登录, 登录 后可进行评论
发表
还没有评论哦,来抢个沙发吧!