【发布时间】:2017-04-23 13:25:50
【问题描述】:
我有 Angular 2 客户端,可以从 rest 服务下载文件:
downloadAPK(projectName: string): void {
this.projectService.downloadAppFile(projectName).subscribe(blobContent => {
var a = document.createElement("a");
a.setAttribute('style', 'display:none;');
document.body.appendChild(a);
var url = window.URL.createObjectURL(blobContent);
a.href = url;
a.download = projectName + '.apk';
a.click();
});
}
客户端代码:
<div class="subTitleStatus">Ready
<a style="cursor:pointer" (click)="downloadAPK(project.name)"><i class="glyphicon glyphicon-download-alt"></i></a>
</div>
服务代码:
downloadAppFile(projectName: String): any {
return this._http.get(this._productUrl + "/downloadAppFile/" + projectName,
{responseType: ResponseContentType.Blob})
.map(res => res.blob())
.catch(this.handleError);
}
问题是在客户端完成下载文件之前,用户没有任何迹象表明下载已开始。 我说的是大文件
当用户点击下载链接直到完成下载时,如何更改客户端代码以显示下载百分比?
谢谢
【问题讨论】:
-
您需要有一个 onClick 事件处理程序。由于您没有在 ui 模板或实际事件上提供太多代码,因此我无法为您提供太多帮助。
-
我更新我的问题
-
服务中有什么?是否有某种变量可以显示已发送给客户端的数量以及文件的大小?
-
我的问题更新的服务代码,文件大小约30MB
标签: angular