1.安装
- cordova plugin add cordova-plugin-file-transfer
- cordova plugin add cordova-plugin-file-opener2
2.下载.apk
var fileTransfer = new window.FileTransfer()
var uri = encodeURI('http://192.168.2.105:8888/apk/tuner.apk')
var fileURL = 'cdvfile://localhost/temporary/tuner.apk'
fileTransfer.download(
uri, fileURL, function (entry) {
alert('download complete: ' + entry.toURL())
},
function (error) {
alert('download error: ' + error.source + error.target + error.code)
},
false, {
headers: {
'Authorization': 'Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=='
}
}
)
3.打开.apk
cordova.plugins.fileOpener2.open(
'cdvfile://localhost/temporary/tuner.apk',
'application/vnd.android.package-archive'
)
4.踩坑
- w3cschool里,下载文件时文件的本地保存路径是这样定义的:
var fileURL = "///storage/emulated/0/DCIM/myFile";
试了好多次都不行
- cordova-plugin-file-transfer的使用说明里,保存路径是这样定义的:
试了几次还是不行
- 最后无意中在cordova-plugin-file的说明里看到这要的用法:
fileTransfer.download(uri, 'cdvfile://localhost/temporary/path/to/file.mp3', function (entry) { ...
把文件名直接写在了要保存的路径里,我照着试了一下,成功了。
网友评论