Ich habe an dieser Stelle so ziemlich alles ausprobiert und ich kann in ie nichts zum Arbeiten bekommen.
Ich brauche z. B. base64-Dokumente von einem Anhang Panel herunterladen. Ich habe keinen Zugriff auf den serverseitigen Code oder die Datenbank. Die Bilder können nicht in einem Ordner gespeichert werden, um hochgezogen zu werden, sie müssen auf diese Weise dargestellt werden.
Ich habe versucht, einen einfachen Link zu verwenden und den base64-Stich dort hinein zu stecken, und es öffnet nur ein neues, leeres Fenster.
%Vor% Ich habe versucht, die URL in blob
umzuwandeln und den Blob zu öffnen, was dazu führte, dass der Browser nichts unternahm.
Ich bin komplett und völlig festgefahren. Ich habe alles von Google und hier versucht.
Meine zwei letzten Versuche hier
Vor einiger Zeit habe ich diese Funktion geprägt, um einen Download eines xlsx- oder csv-Inhalts zu machen ("offer / initialize"), der sowohl einen Blob- als auch einen base64-String akzeptiert:
%Vor%Dies sollte in der Lage sein, sowohl die Blob- als auch die Base64-Zeichenkette zu akzeptieren - Sie sollten die Idee bekommen, wie es für eine Blob- und eine Base64-Zeichenkette aus dem if / else-Block gemacht wird.
Wenn es problematisch ist, die base64-Zeichenfolge zu übergeben, konvertieren Sie sie zunächst in einen Blob (wie beispielsweise in dieser SO-Frage vorgeschlagen) diese Antwort richtet sich speziell an IE11). Passen Sie die MIME-Standardeinstellungen entsprechend Ihrer erwarteten Verwendung an.
Ich nehme an, Sie haben bereits den Inhalt (Blob / base64), behalten Sie Ihren ursprünglichen Link (der vermutlich von einem Benutzer angeklickt werden soll) einen einfachen Link oder eher einen Button (dh ohne die download/href
-Attribute), anhängen Es ist ein Click-Event-Handler, wo Sie die Funktion aufrufen und den Download für Sie initialisieren sollten:
IE erfordert in klassischer Weise, dass Sie eine proprietäre Methode zum "Speichern" eines Blobs verwenden.
msSaveBlob
oder msSaveOrOpenBlob
ist was du suchst.
Anstatt es als href
hinzuzufügen, fügen Sie einen onclick
-Handler zu Ihrem a
-Tag hinzu und rufen Sie navigator.msSaveBlob(blob, "Sample Name");
Zusätzlich, wenn Sie andere Browser unterstützen müssen, benötigen Sie anderen Code, um diese Browser zu unterstützen.
Zum Beispiel:
wenn Sie versuchen, eine Blob-URL in IE zu generieren. Es wird nicht funktionieren. Wir müssen die Datei auf lokale herunterladen. indem Sie den folgenden Code verwenden
// Methode
aufgerufenFunktion pdfBlobConVesion (b64Data, contentType) {
%Vor%Tags und Links javascript base64