2016-06-09 3 views
1

В приложении angular2 (rc1) Я храню некоторые данные в localstorage. Я хочу предоставить пользователю возможность хранить данные в файле и импортировать их в другую систему или браузер. Трудно было узнать, как это сделать, из-за санитарии. Наконец я пришел к этому решению.Экспорт данных в файл в Angular2

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> 

Я нашел дезинфицирующее и его метод bypassSecurityTrustUrl путем угадывания и в @ оглавлению Угловое/платформы браузера/SRC/безопасности/dom_sanitization_service.d.ts. Я не мог найти никакой документации для этого.

Это правильный способ решить эту проблему? Если я откажусь от вызова обхода доверия безопасности, URL-адрес получит префикс unsafe:, что делает его нефункциональным. Есть ли какая-то документация, которую я пропустил?

+0

Это может помочь http://stackoverflow.com/questions/37076867/in-rc-1-some-styles-cant-be-added-using-binding-syntax/37076868#37076868 –

ответ

0

Существует более полная документация на http://g.co/ng/security сейчас (! Хотя ничего конкретного для сгустков - ваш код хороший, хотя).

Смежные вопросы