cougar77
Goto Top

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!

Content-ID: 64076

Url: https://administrator.de/contentid/64076

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

Mheatus
Mheatus 18.07.2007 um 10:36:44 Uhr
Goto Top
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:
<a href="Bild.jpg" type="application/picture">Bild Download</a>  
Cougar77
Cougar77 18.07.2007 um 11:35:22 Uhr
Goto Top
Könnte Dir schon eins zukommen lassen, das wäre nicht das Problem.

Daran hab ich auch schon gedacht, aber leider ist das für einige unserer Kunden, sagen wir "zu kompliziert".

Ich bastel da schon ne Weile dran rum, aber irgendwie kommt mir keine Idee.

Auch daran hab ich schon gedacht, aber ich hab noch keine Möglichkeit gefunden, wie man dem Browser (im Allgemeinen) davon überzeugt, dass er das Format nicht kennt. "application/picture" tuts nicht, selbst wenn ich was angebe, was es schon mal garnicht gibt, versucht ers immernoch zu öffen.
Mheatus
Mheatus 18.07.2007 um 13:12:38 Uhr
Goto Top
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.
Cougar77
Cougar77 18.07.2007 um 13:39:44 Uhr
Goto Top
PN ist raus.

Leider bei mir nicht...
Inzwischen wurde scheinbar am IE wieder etwas geändert... (Habe das Problem schon 3 Wochen, und habs mal mit beiden getestet, und dann nur noch am Firefox getüftelt, drum seh ichs erst jetz...)
Der zeigt inzwischen wieder "rotes Kreuz" anstatt der Fehlermeldung... Dummerweise kann man das jetzt zwar wieder rechtsklicken, aber die Option "speichern unter" ist leider ausgegraut face-sad

Skripts per Google hab ich auch schon gesucht, aber nichts passendes gefunden...
Über PHP funktionierts schon ganz gut... dummerweise landet das Ganze wie gesagt leider auf dem Server (auf dem das PHP läuft) anstatt auf dem Client, der es aufruft.

Möglich wär das schon... klar...
Aber man glaubt garnicht, wie, naja, Du weißt schon.. user halt ;)

Ne, hauptsächlich würds mich ärgern, wenn ich das Ganze zweimal (einmal als jpg für den FTP, und einmal als .exe (zip) hochladen müßte... (sind ja "nur" 4000 Bilder zwischen 2 und 30 MB)
Cougar77
Cougar77 18.07.2007 um 15:09:35 Uhr
Goto Top
Mheatus hat mich grade drauf gebracht, dass es im Firefox funktioniert, wenn man über "Datei/speichern unter" geht.
Danke nochmal face-smile

Allerdings funktioniert das im IE nicht, und (leider) benutzen die Meisten doch noch diesen.
filippg
filippg 19.07.2007 um 01:24:20 Uhr
Goto Top
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.
Cougar77
Cougar77 19.07.2007 um 12:55:47 Uhr
Goto Top
Hallo!

Danke für den Tipp face-smile
Funktioniert auch einwandfrei, jedenfalls mit Firefox 2...

Leider interpretiert weder Firefox 1.x noch IE "content-type" bzw. "content-disposition", oder versucht aus anderen Gründen die PHP-Seite downzuloaden.

Gibt es vielleicht noch eine andere Möglichkeit?