将数据导出到Angular2中的文件

时间:2016-06-09 09:19:14

标签: angular sanitization

在angular2应用程序(rc1)中,我将一些数据存储在localstorage中。我想让用户可以将数据存储在一个文件中,并将其导入到不同的系统或浏览器中。由于消毒,很难找到如何做到这一点。最后我来到了这个解决方案。

import { DomSanitizationService } from '@angular/platform-browser';
import { UserdataService } from '../shared';
export class ExportComponent {
  constructor(private userdata: UserdataService, sanitizer:DomSanitizationService) {
   let dataString = JSON.stringify(userdata.getDataObject());
   let blob = new Blob([dataString], { type: 'application/json' });
   this.downloadurl =
       sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(blob));
}

我在模板中使用

<a [href]="downloadurl" download="data.json" >Download</a>

我在@ angular / platform-b​​rowser / src / security / dom_sanitization_service.d.ts中通过猜测和grepping找到了sanitizer及其方法bypassSecurityTrustUrl。我找不到任何文件。

这是解决这个问题的正确方法吗?如果我省略了绕过安全信任的调用,则URL会以unsafe:为前缀,这会使其无法正常运行。是否有一些我遗漏的文件?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

现在http://g.co/ng/security有更完整的文档(虽然没有特定的blob - 但你的代码很好!)。