2017-09-13 82 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);