一、问题
VueAPP 中有一个文件下载功能,用了各种方法来实现下载功能,app 都没有反应。
这个博客里面几乎包含了我试过的大部分方法,发现 PC 端没问题,手机不可以。
二、经过
这些方法 PC 端没问题,安卓就不行,问了一个接触过安卓的后台小伙伴,说是需要用 app 调起浏览器,让手机自带的浏览器下载文件。
这种方法对于安卓来说很是友好,前端暂时没发现可以调用的方法。。
三、结果
使用 cordova 下载文件的插件,通过获取安卓写入权限,再调用文件传输、打开文件等 cordova 插件,来实现 VueAPP 下载文件/图片的功能
cordova 的安装这里就不写了,官网和 w3c 很多详细的步骤
下载文件所需 cordova 插件:
cordova-plugin-android-permissions:获取权限的插件,相关文章推荐
cordova-plugin-file:用于操作用户设备上的本机文件系统,w3c有教程
cordova-plugin-file-transfer:用于上传和下载文件,具体看教程
cordova-plugin-file-opener2:打开文件系统插件
四、vue 调用 cordova 的具体方法
首先,在 vue 项目中添加 npm 依赖包
npm install --save vue-cordova
下载完成后,在 main.js 里面引入插件
然后,在 main.js 里面引入调用 cordova 插件具体功能的代码,方便全局调用
// cordovaPlugins.js CODE
//接口封装 -- 简单的封装下,用于测试功能是否ok
// 设备信息
function appGetLocation(result) {
cordovaDevice()
function cordovaDevice() {
console.log("Cordova version: " + device.cordova + "\n" +
"Device model: " + device.model + "\n" +
"Device platform: " + device.platform + <