2017-09-13 89 views
-1

我想调用一个函数来触发文件在angular2中下载。该数据被存储在angular2应用程序(不是在服务器上的内存。基于我读过,我需要创建一个数据URI 这里是我的代码,这样做了。通过函数导航到angular2中的DataURI通过函数

downloadData() { let data="bacon,goodness"; let uri = this._sanitizer.bypassSecurityTrustUrl("data:text/csv;charset=UTF-8," + encodeURIComponent(data)); this.download=uri; window.location.href = uri; }

我的问题是,我不能运行命令

“window.location.href = URI”

它给人的错误 “SafeUrl”是不能分配给串 有另一种方式,从一个函数内部导航到SafeUrl

+0

window.open(URI)? – jlareau

+0

同样的问题。 window.open需要一个字符串。 –

+0

你可能需要得到你的url的字符串。你可以调用uri.getSafeUrlString()? – jlareau

回答

0

我终于放弃了使用消毒。 api允许您使用safeURL的唯一方法是作为[href]的参数。这显然是为了安全。

我现在这样做:

window.location.href = "data:text/csv;charset=UTF-8," + encodeURIComponent(data);