2017-02-21 16 views
5

मैं कोणीय 2 का उपयोग कर रहा हूं। मैं JSON फ़ाइल डाउनलोड करने के लिए कार्यक्षमता देना चाहता हूं।कोणीय 2 जेसन फ़ाइल को निर्यात/डाउनलोड करने के लिए

जैसा कि मुझे res = {bar: foo} के साथ प्रतिक्रिया है, तो मैं जेसन फ़ाइल बनाना चाहता हूं जिसमें यह प्रतिक्रिया होगी जिसमें बटन/एंकर क्लिक पर डाउनलोड किया जा सकता है।

किसी भी मदद की सराहना की जाएगी।

उत्तर

8

यह तो आसान था मैं

constructor(private sanitizer: DomSanitizer){} 

    generateDownloadJsonUri() { 
     var theJSON = JSON.stringify(this.resJsonResponse); 
     var uri = this.sanitizer.bypassSecurityTrustUrl("data:text/json;charset=UTF-8," + encodeURIComponent(theJSON)); 
     this.downloadJsonHref = uri; 
    } 

उम्मीद टेम्पलेट

<a class="btn btn-clear" title="Download JSON" [href]="downloadJsonHref" download="download.json"></a> 
+0

कैसे या कब उत्पन्न होता हैडाउनलोड जेसनयूरी() –

+1

कहा जाता है मैंने कन्स्ट्रक्टर पर उपयोग किया है क्योंकि मेरे पास 'this.resJsonResponse' तैयार था। जेसन प्रतिक्रिया तैयार करने के बाद आपको इसे कॉल करना चाहिए। –

0

आप DomSanitizer का उपयोग कर सकते में: https://angular.io/docs/ts/latest/api/platform-browser/index/DomSanitizer-class.html

आयात बयान की जरूरत है:

import {enter code here DomSanitizer, SafeResourceUrl, SafeUrl} from '@angular/platform-browser'; 
constructor(private sanitizer: DomSanitizer){} 

generateDownloadJsonUri() { 
    var theJSON = JSON.stringify(this.resJsonResponse); 
    var uri = this.sanitizer.bypassSecurityTrustUrl("data:text/json;charset=UTF-8," + encodeURIComponent(theJSON)); 
    this.downloadJsonHref = uri; 
} 
+0

कृपया कुछ स्पष्टीकरण शामिल करने के लिए अपना उत्तर संपादित करें। कोड-केवल उत्तर भविष्य में एसओ पाठकों को शिक्षित करने के लिए बहुत कम करते हैं। आपका जवाब कम गुणवत्ता वाले होने के लिए मॉडरेशन कतार में है। – mickmackusa

1

मेरी जेसन इतनी बड़ी थी जब मुझे कुछ समस्याएं थीं, मैंने अंकुर अकवालिया के जवाब में एक ब्लॉब ऑब्जेक्ट जोड़ा और यह काम करता है !!

generateDownloadJsonUri() { 
    let theJSON = JSON.stringify(this.resJsonResponse); 
    let blob = new Blob([theJSON], { type: 'text/json' }); 
    let url= window.URL.createObjectURL(blob); 
    let uri:SafeUrl = this.sanitizer.bypassSecurityTrustUrl(url); 
    this.downloadJsonHref = uri; 
} 
संबंधित मुद्दे