2016-04-25 7 views
1

Ich versuche, Json-Objekt als CVS-Datei herunterladen. Dieses JSON-Objekt besteht tatsächlich aus einem Java-Objekt, das sich im Browser selbst befindet. Ich feuere keine Netzwerkanforderung ab.
Es funktioniert gut in Chrome aber IE-11 wirft unter Fehler in Netzwerk-> Response-Registerkarte.Download Json als Datei: IE-11 werfend 414 Anfrage-URI zu groß

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<html><head> 
<title>414 Request-URI Too Large</title> 
</head><body> 
<h1>Request-URI Too Large</h1> 
<p>The requested URL's length exceeds the capacity 
limit for this server.<br /> 
</p> 
<hr> 
<address>Omniture DC/2.0.0 Server at *.112.2O7.net Port 80</address> 
</body></html> 

In der Konsole bekomme ich das.

The code on this page disabled back and forward caching. For more information, see: http://go.microsoft.com/fwlink/?LinkID=291337 

Mein Code in Javascripts ist wie folgt:

var fileName = "Group Assignment"; 
     var uri = 'data:text/csv;charset=utf-8,' + escape(CSV); 
     var link = document.getElementById('download-as-csv'); 
     link.href = uri; 
     link.download = fileName + ".csv"; 
     link.innerHTML = 'Download as CSV'; 

Antwort

1

Ich fürchte, dass auf diese Weise tun können. Microsoft Internet Explorer hat eine limit up to 2048 characters für URIs.

Stattdessen sollte es besser sein, Sie dienen diese CSV aus einer diferent Seite und zeigen IE von dort zu erhalten oder msSaveOrOpenBlob Beispiel verwenden:

navigator.msSaveOrOpenBlob(new Blob(CSV.split('')), { type: 'text/csv' }), fileName + ".csv"); 

* funktioniert nur aus IE 10 und über

+0

Ok, dann wie mache ich das? – Ahmad

+0

Ich habe meine Antwort aktualisiert – Cleiton

+0

Ausgezeichnet, also schreibe ich dies auf Click-Ereignis von Download-als-CSV-Element? Entschuldigen Sie meine Naivität – Ahmad