ich habe ein Problem:
ich will auf meinem Webserver in einem bestimmten Verzeichnis u.a.
Dateien mit der Endung .ai (Adobe-Illustrator) zum download anbieten.
Dazu lasse ich den Verzeichnisinhalt mit einem phpScript anzeigen und
verlinke dann den Dateinamen. allerdings meldet sich dann mein
Explorer und fragt, ob er die Datei Speichern solle. Soweit ist das ja
das was ich will, aber er erkennt, daß die Datei das Format
application/postscript hat und möchte sie dann als .ps speichern.
Wie kann ich dem Server (Apache 1.3 auf SuSE 8.2) das abgewöhnen?
Ich bin für jede Hilfe dankbar!
Viele Grüße
Andrea
> ich will auf meinem Webserver in einem bestimmten Verzeichnis u.a.
> Dateien mit der Endung .ai (Adobe-Illustrator) zum download anbieten.
>
> allerdings meldet sich dann mein
> Explorer und fragt, ob er die Datei Speichern solle. Soweit ist das ja
> das was ich will, aber er erkennt, daß die Datei das Format
> application/postscript hat und möchte sie dann als .ps speichern.
Also kein Problem mit MIME Types, denn der Typ application/postscript
ist ja korrekt. Wenn Deine Browser-Simulation unbedingt den Namen
verfälschen will, solltest Du vielleicht einen richtigen(TM)
Web-Browser verwenden: <http://www.mozilla.org/>
Es ist nicht der Apache dem Du etwas abgewöhnen musst, da er sich
vermutlich richtig verhält.
>
> Ich bin für jede Hilfe dankbar!
Die Ursache liegt im verwendeten "Browser"!
Über
http://www.ltrebing.de/interests/web/devedge-mime-types/
findest Du in
http://support.microsoft.com/default.aspx?sd=msdn&scid=kb;en-us;293336
http://msdn.microsoft.com/workshop/networking/moniker/overview/appendix_
a.asp
weitere Informationen, wie der IE mit MIME-Typen umgeht. Nach der
Lektüre kann man zu dem Schluss kommen, dass man diesem Verhalten
entgegenwirken kann, indem man einen zusätzlichen Header in der Form
Content-Disposition: ;filename=<bitte_so_speichern.danke>
sendet. Diesen Header mit dem entsprechendem Dateinamen zu setzen kannst
Du vermutlich nur aus einem Skript heraus, da weder mod_header oder
mod_rewrite dies abhängig vom Request bieten.
Solch einen Workaround solltest Du aber wirklich nur bei Browsern
verwenden, die dieses komische Verhalten haben.
gruss,
.max
>> Soweit ist das ja das was ich will, aber er erkennt, daß die Datei
>> das Format application/postscript hat und möchte sie dann als .ps
>> speichern.
>
> Also kein Problem mit MIME Types, denn der Typ application/postscript
> ist ja korrekt. Wenn Deine Browser-Simulation unbedingt den Namen
> verfälschen will, (...)
Warum nicht? Dateierweiterungen sind irrelevant, nur der MIME-Typ zählt.
Stur als .ai abzuspeichern könnte bedeuten, das Dokument lokal
unbrauchbar zu machen. Es wird als "application/postscript"
ausgeliefert, die zugeordnete Erweiterung steht im Registry-Schlüssel
HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/postscript
im Wert "Extension", wer mag, kann das ändern, der IE hält sich daran.
Vielleicht hätte sich Adobe um einen MIME-Typ für Illustrator-Dokumente
bemühen sollen?
Nein, eben nicht.
Der IE ermittelt den MIME-Typ selber, siehe Posting in diesem Thread.
--
Warning: You are not root
-- nmap V. 2.54BETA31
>> Es wird als "application/postscript" ausgeliefert, die zugeordnete
>> Erweiterung steht im Registry-Schlüssel
>>
>> HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/postscript
>>
>> im Wert "Extension", wer mag, kann das ändern, der IE hält sich daran.
>
> Nein, eben nicht.
Doch.
> Der IE ermittelt den MIME-Typ selber, siehe Posting in diesem Thread.
Von der Ermittlung des MIME-Typs war überhaupt nicht die Rede, außerdem
funktioniert die hier tadellos, was sich übrigens direkt aus
<http://msdn.microsoft.com/workshop/networking/moniker/overview/appendix_a.asp>
ergibt.
Es geht vielmehr um die Dateierweiterung beim Speichern, und
"application/postscript"-Daten speichert IE offenbar standardmäßig in
.ps-Dateien. Das ist kein Bug, ganz im Gegenteil.
> Vielleicht hätte sich Adobe um einen MIME-Typ für Illustrator-Dokumente
> bemühen sollen?
Illustrator-Dokumente bestehen aus PostScript-Code. Insofern ist der
MIME-Typ application/postscript völlig angemessen.
>> Vielleicht hätte sich Adobe um einen MIME-Typ für Illustrator-Dokumente
>> bemühen sollen?
>
> Illustrator-Dokumente bestehen aus PostScript-Code. Insofern ist der
> MIME-Typ application/postscript völlig angemessen.
Dann könnte man sich auch die ganzen "+xml"-Typen sparen. Irgendwas
Besonderes wird doch wohl an Illustrator-Dokumenten dran sein,
immerhin wird ja eine andere Dateierweiterung benutzt.
Ja, nur gilt dies nicht für das Betriebssystem Windows. Dieses hält
unverbesserlich am Konzept von "Dateiendungen bestimmen den Inhalt"
fest.
> Stur als .ai abzuspeichern könnte bedeuten, das Dokument lokal
> unbrauchbar zu machen.
Das Windows eine andere Dateiendung zum speichern anbietet, wenn für
diese eine Anwendung registriert ist, könnte ich ja noch verstehen.
Schliesslich möchte man seinen Kunden vor dem eigenständigen Denken
bewahren und Ihn nicht vor die Frage stellen "Unbekannter Typ: Wähle
Applikation".
Jedoch sind unter meinem Windows ".ai" und ".ps" unbekannte Typen und
die ganze Umbenennerei sinnlos und unerwünscht.
> Es wird als "application/postscript"
> ausgeliefert, die zugeordnete Erweiterung steht im Registry-Schlüssel
>
> HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/postscript
>
> im Wert "Extension", wer mag, kann das ändern, der IE hält sich daran.
>
> Vielleicht hätte sich Adobe um einen MIME-Typ für Illustrator-Dokumente
> bemühen sollen?
Ansonsten finde ich es nicht überraschend, dass Microsoft auf AI (im
gewohnten Sinne) lieber verzichtet. ;)
des Frieden wegen F'up2Poster gesetzt,
.max
Das tut jeder Browser. Mir ist noch keiner untergekommen, der den ganzen
URL verwendet hätte. Und in URLs gibt es keinen "Dateinamen", der String
ist als ganzes eine Bezeichnung des Dokuments. Irgendwelche Punkte haben
ohnehin keine Bedeutung (außer in relativen URLS, aber um die geht es
hier nicht)
>> Warum nicht? Dateierweiterungen sind irrelevant, nur der MIME-Typ zählt.
>
> Ja, nur gilt dies nicht für das Betriebssystem Windows. Dieses hält
> unverbesserlich am Konzept von "Dateiendungen bestimmen den Inhalt"
> fest.
Und genau deswegen muss ein Browser unter Windows beim Abspeichern die
Dateiendung dem Content-Type entsprechend setzen und darf nicht
ungeschaut das übernehmen, was im URL nach dem letzten Punkt kommt.
Wenn er weiß, dass .ai, .ps und .eps (um ein paar Beispiele zu nennen)
übliche File-Extensions für Postscript-Files sind, dann darf er .ai
belassen, denn damit bleibt die Information "das ist ein
Postscript-File" erhalten. Wenn er nicht weiß, was .ai sein soll, aber
weiß, dass .ps für Postscript steht, dann muss er die Extension .ps
setzen (Was nicht unbedingt heißt, dass er die Extension .ai wegwerfen
muss - Mozilla würde das File in dem Fall basename.ai.ps nennen), weil
das File sonst lokal nicht verwendbar wäre.
>> Stur als .ai abzuspeichern könnte bedeuten, das Dokument lokal
>> unbrauchbar zu machen.
>
> Das Windows eine andere Dateiendung zum speichern anbietet, wenn für
> diese eine Anwendung registriert ist, könnte ich ja noch verstehen.
AFAIK (als nur ganz selten Windows-Benutzer) kann man beim IE sehr wohl
den Filenamen ändern unter dem das File abgespeichert wird.
> Jedoch sind unter meinem Windows ".ai" und ".ps" unbekannte Typen und
> die ganze Umbenennerei sinnlos und unerwünscht.
Ganz unbekannt ist auf deinem Windows .ps offensichtlich nicht, denn
sonst wüsste der IE auch nichts davon.
> des Frieden wegen F'up2Poster gesetzt,
Ignoriert.
hp
--
_ | Peter J. Holzer | Latein ist das humanoide Äquivalent
|_|_) | Sysadmin WSR | zu Fortran.
| | | h...@hjp.at |
__/ | http://www.hjp.at/ | -- Alexander Bartolich in at.linux
> AFAIK (als nur ganz selten Windows-Benutzer) kann man beim IE sehr wohl
> den Filenamen ändern unter dem das File abgespeichert wird.
Sicher, im "Speichern unter"-Dialog. Und dann wird auch wirklich der
eingegebene Dateiname verwendet, ohne ".ps" o.ä. am Ende.