Verwenden Sie JavaScript, um eine PNG-Datei auf den Server herunterzuladen und eine neue Datei mit einer anderen Dateierweiterung (.pdf) zu erstellen.
<p>Der Code meiner Website ist in einem sehr umständlichen, beschissenen Backend gespeichert. Leider ist der Inhaltsheader sehr streng gesperrt. Auf alle Dateilinks, die mit <strong>.pdf</strong> enden, kann nur über die UI-Download-Eingabeaufforderung zugegriffen werden. <strong> strong>PDF-Dateien.
Mein aktueller Gedanke ist, dass ich die Datei vielleicht auf den Server hochladen und in file.pdf.png umbenennen könnte (dies scheint möglich zu sein, indem die Bedingung für den Serverinhaltsheader erfüllt wird, damit sie wie ein PNG-Dateityp aussieht. Der Browser lädt die Datei herunter in den <strong>Speicher</strong>). Ich möchte dann in der Lage sein, eine neue Datei in JavaScript zu erstellen, indem ich die Datei herunterladbar mache (<strong>In Memory</strong>). Ein an anderer Stelle vorgeschlagener Ansatz besteht darin, den Inhalt der beschädigten PNG-Datei mit Base64 zu kodieren, dann eine neue Datei in JavaScript basierend auf dem dekodierten Base64-Inhalt zu erstellen und ihr den Erweiterungsnamen <strong>.pdf</strong> zu geben, so die Hoffnung dass es als PDF-Datei funktioniert und im Speicher gespeichert wird, sodass Benutzer nichts auf ihr Gerät herunterladen müssen. Das Endziel besteht darin, die Datei im Speicher (aus dem Backend des Benutzers) abzurufen und sie mit dem integrierten PDF-Viewer des Browsers anzuzeigen. </p>
<p>//Der Server hat die Möglichkeit, Dateien hochzuladen
//Angenommen, dass es sich bei dem, was Sie hochladen, tatsächlich um eine PDF-Datei handelt, an deren Ende jedoch die Erweiterung .png angehängt ist,
//Links zu diesen Dateien sehen also wie folgt aus: https://the-website.com/file.pdf.png</p>
<p>//Jetzt muss ich in der Lage sein, diese Datei im Hintergrund abzurufen und sie hoffentlich im Speicher zu haben, damit der Benutzer nicht mit dem UI-Download-Popup interagieren muss. </p>
<p>//Dann muss ich irgendwie den Dateiinhalt (file.pdf.png) extrahieren und eine gültige PDF-Datei basierend auf der Datei mit einer Pseudodateierweiterung erstellen. Die resultierende Datei sollte file.pdf sein . Diese Datei muss im Speicher gespeichert werden, damit ich sie auf einer Webseite mit etwas wie <embed /> oder was auch immer für die Anzeige der PDF-Datei in verschiedenen Browsern angezeigt werden kann, aber ich kann das nicht erzwingen Der Benutzer gibt ein UI-Popup ein oder lädt auf sein Gerät herunter (ich möchte nur im Speicher arbeiten). <p><br /></p></object></p>