Dateidownload über Browser
Ich habe folgendes Problem:
Wir haben auf unserem Web-/FTP-Server Bilder im JPG-Format liegen. Da es sich aber um Druckdaten handelt (CMYK), kann diese (fast) kein Browser direkt darstellen. Diese möchten wir Partnern/Kunden zum Download zur Verfügung stellen.
Bisher war das kein Problem, da diese Bilder bisher keine Fehlermeldung verursacht haben, sondern wurden einfach nur nicht dargestellt (rotes Kreuz), und man konnte mit rechtsklick, speichern unter immernoch das Bild downloaden.
Jetzt hat man hier wohl das Verhalten der Browser (Firefox, IE6/7) geändert, dass eine Fehlermeldung ausgegeben wird, die aussagt, dass das Bild fehlerhaft ist. Leider kann man nun diese Fehlermeldung nicht rechtsklicken.
Gibt es eine Möglichkeit, die Anzeige des Browsers direkt, ohne Prüfung der Dateiendung z.B. in einen download umzuleiten?
Oder eine Möglichkeit, über einen Link, ein Javaskript anzustoßen, dass einen Download ausführt?
Oder vielleicht von einem zweiten Server per PHP und FTP?
Die Version hab ich schon mal probiert... funktioniert auch ganz gut.. nur landen meine Daten dann auf dem PHP-Server, und nicht auf dem Client, der die Seite aufruft ^^
Danke für die Hilfe!
Wir haben auf unserem Web-/FTP-Server Bilder im JPG-Format liegen. Da es sich aber um Druckdaten handelt (CMYK), kann diese (fast) kein Browser direkt darstellen. Diese möchten wir Partnern/Kunden zum Download zur Verfügung stellen.
Bisher war das kein Problem, da diese Bilder bisher keine Fehlermeldung verursacht haben, sondern wurden einfach nur nicht dargestellt (rotes Kreuz), und man konnte mit rechtsklick, speichern unter immernoch das Bild downloaden.
Jetzt hat man hier wohl das Verhalten der Browser (Firefox, IE6/7) geändert, dass eine Fehlermeldung ausgegeben wird, die aussagt, dass das Bild fehlerhaft ist. Leider kann man nun diese Fehlermeldung nicht rechtsklicken.
Gibt es eine Möglichkeit, die Anzeige des Browsers direkt, ohne Prüfung der Dateiendung z.B. in einen download umzuleiten?
Oder eine Möglichkeit, über einen Link, ein Javaskript anzustoßen, dass einen Download ausführt?
Oder vielleicht von einem zweiten Server per PHP und FTP?
Die Version hab ich schon mal probiert... funktioniert auch ganz gut.. nur landen meine Daten dann auf dem PHP-Server, und nicht auf dem Client, der die Seite aufruft ^^
Danke für die Hilfe!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 64076
Url: https://administrator.de/contentid/64076
Ausgedruckt am: 22.11.2024 um 06:11 Uhr
7 Kommentare
Neuester Kommentar
Ich fände es hilfreich mal solch eine Datei zu sehen, um zu probieren, wie man es vll schaffen könnte..
Ansonsten ist die simpelste Variante dafür wohl das Bild in einen .zip oder .rar Ordner zu packen und den zum Download anzubieten.
Ein Script zum Downloaden des Bildes kann man bestimmt schreiben, fände ich aber an sich zu kompliziert.. werde mal schauen ob ich derartiges finde
edit: Eine alternative wäre einen Fehler zu verursachen, in dem man Mozilla einen ihm nicht bekannten Dateityp vorgaukelt.. dadurch fragt er von sich aus nach, was er mit dem Bild machen soll. Als Beispiel:
Ansonsten ist die simpelste Variante dafür wohl das Bild in einen .zip oder .rar Ordner zu packen und den zum Download anzubieten.
Ein Script zum Downloaden des Bildes kann man bestimmt schreiben, fände ich aber an sich zu kompliziert.. werde mal schauen ob ich derartiges finde
edit: Eine alternative wäre einen Fehler zu verursachen, in dem man Mozilla einen ihm nicht bekannten Dateityp vorgaukelt.. dadurch fragt er von sich aus nach, was er mit dem Bild machen soll. Als Beispiel:
<a href="Bild.jpg" type="application/picture">Bild Download</a>
Bei mir kommt in dem Falle ein "Wie wollen sie es öffnen?
Mit Standardanwendung öffnen
Mit Anwendung öffnen (Wählen)
Speichern unter..
*g* Du kannst mir ja gerne mal eines zukommen lassen, per PN..
Bei Google hatte ich nach Scripts gesucht, die sowas können, da habe ich aber nur Lösungen a la machts per Rar gelesen..
Wenn es den kunden zu kompliziert ist, kannst du ja auch ein Selbstextrahierendes Archiv machen.. also ne Exe, das sollte nicht sooo schwer sein^^ An Scripts hab ich nix gefunden.
Mit Standardanwendung öffnen
Mit Anwendung öffnen (Wählen)
Speichern unter..
*g* Du kannst mir ja gerne mal eines zukommen lassen, per PN..
Bei Google hatte ich nach Scripts gesucht, die sowas können, da habe ich aber nur Lösungen a la machts per Rar gelesen..
Wenn es den kunden zu kompliziert ist, kannst du ja auch ein Selbstextrahierendes Archiv machen.. also ne Exe, das sollte nicht sooo schwer sein^^ An Scripts hab ich nix gefunden.
Hallo,
es gibt noch eine elegante Lösung mit PHP: PHP kann den MIME-Header eines Dokumentes modifizieren. Wenn man den auf... hm... data/binary glaube ich (aber das findet sich im Netz) setzt, dann öffnet sich im Browser nach dem Aufrufen dieser Datei direkt ein entsprechendes Feld im Browser, wohin diese Datei gespeichert werden soll.
Das ganze sieht also so aus, dass du einen Link in deine Seite setzt "Grafik downloaden". Dieser verweist z.B. auf "grafikdownload.php?grafik=12345". In dieser grafikdownload.php wird als erstes der Header entsprechend (mit "header("Content-type: data/binary");")gesetzt, dann wird die Grafikdatei von dem Script eingelesen und ausgegeben (also an den Browser geschickt).
Filipp
edit: mist, der MIME-Typ heisst "application/octet-stream", in Form eines einfachen Beispiels findet sich das beispielsweise unter http://forum.df.eu/forum/showthread.php?t=39251 Ausserdem dürfte das ganze sogar ohne PHP gehen, den MIME-Type kann man auch mittels .htaccess-Datei setzen.
es gibt noch eine elegante Lösung mit PHP: PHP kann den MIME-Header eines Dokumentes modifizieren. Wenn man den auf... hm... data/binary glaube ich (aber das findet sich im Netz) setzt, dann öffnet sich im Browser nach dem Aufrufen dieser Datei direkt ein entsprechendes Feld im Browser, wohin diese Datei gespeichert werden soll.
Das ganze sieht also so aus, dass du einen Link in deine Seite setzt "Grafik downloaden". Dieser verweist z.B. auf "grafikdownload.php?grafik=12345". In dieser grafikdownload.php wird als erstes der Header entsprechend (mit "header("Content-type: data/binary");")gesetzt, dann wird die Grafikdatei von dem Script eingelesen und ausgegeben (also an den Browser geschickt).
Filipp
edit: mist, der MIME-Typ heisst "application/octet-stream", in Form eines einfachen Beispiels findet sich das beispielsweise unter http://forum.df.eu/forum/showthread.php?t=39251 Ausserdem dürfte das ganze sogar ohne PHP gehen, den MIME-Type kann man auch mittels .htaccess-Datei setzen.