您的位置:首页 > 其它

ionic3项目版本更新下载

2018-02-07 16:38 169 查看
/**
* 获得当前app版本号,如0.01
* @description  对应/config.xml中version的值
* @returns {Promise<string>}
*/
getVersionNumber(): Promise<string> {
return new Promise((resolve) => {
this.appVersion.getVersionNumber().then((value: string) => {
this.currentVersion = value;
resolve(value);
}).catch(err => {
console.log('getVersionNumber:' + err);
});
});
}
alertCtrlMethod() {
this.alertCtrl.create({
title: '升级',
subTitle: '发现新版本,是否立即升级?',
buttons: [{ text: '取消' },
{
text: '确定',
handler: () => {
this.downloadApp();
}
}
]
}).present();
}

/**
* 下载安装app
*/
downloadApp() {
if (true) {
let alert = this.alertCtrl.create({
title: '下载进度:0%',
enableBackdropDismiss: false,
buttons: ['后台下载']
});
alert.present();
const fileTransfer: FileTransferObject = this.transfer.create();
const apk = this.file.externalRootDirectory + 'mesnac.apk';
fileTransfer.download(APK_DOWNLOAD, apk).then(() => {
this.fileOpener.open(apk, 'application/vnd.android.package-archive');
});
fileTransfer.onProgress((event: ProgressEvent) => {
let num = Math.floor(event.loaded / event.total * 100);
if (num === 100) {
alert.dismiss();
} else {
let title = document.getElementsByClassName('alert-title')[0];
title && (title.innerHTML = '下载进度:' + num + '%');
}
});
}
}

webAPI接口部分:

public class DownloadController : ApiController
{
/// <summary>
/// 实现的方法很简单,其中就是读取服务器的指定路径文件流,将其做为返回的HttpResponseMessage的Content
/// </summary>
public HttpResponseMessage GetApkFile()
{
try
{
var FilePath = System.Web.Hosting.HostingEnvironment.MapPath(@"~/apk/android-armv7-debug.apk");
var stream = new FileStream(FilePath, FileMode.Open);
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent(stream);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "android.apk"
};
return response;
}
catch
{
return new HttpResponseMessage(HttpStatusCode.NoContent);
}
}
}相关原文链接:https://www.jianshu.com/p/a41223a0b6a2;
                      http://blog.csdn.net/u014742815/article/details/52537093;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐