Ich bin gerade auf ein interessantes Phänomen mit Symfony gestossen, wenn ich eine Form-Validierung auf einen File-Upload von PDF-Dateien loslasse: In einem Modul der Backend-Applikation unseres Projektes ist ein File-Upload für PDF-Dateien vorgesehen. Dieses Form lasse ich auf den MIME-Type (in diesem Fall application/pdf) validieren. Das ganze lief auch schon auf einer anderen Maschine (auch dort mit Firefox 2.0.x) problemlos. Aber hier auf meinem Schleppi will die Validierung nicht funktionieren. Im Internet Explorer 7 hingegen klappt alles problemlos.
Mit der FF-Erweiterung “Live HTTP Headers” bin ich allerdings dem Fehler recht schnell auf die Spur gekommen: Der Firefox schickt anstelle von “application/pdf” den MIME-Type “text/html” mit. Warum er das macht kann ich noch nicht ganz nachvollziehen. Fakt ist aber, dass der sfFileValidator bei der Prüfung auf den MIME-Type des vom Browser mitgesendeten MIME-Type validiert und nicht auf den Tatsächlichen. Wenn alle Stricke reißen, muss ich wohl einen eigenen Validator schreiben, der dann “richtig” den MIME-Type prüft und sich nicht auf die Informationen des Browsers verlässt.
Hey,
das macht mich ziemlich stutzig… habe daraufhin bißchen gegoogelt und bin auf folgenden Artikel gestoßen:
http://cephas.net/blog/2007/01/05/firefox-mimetypesrdf-corruption/
Bei solchen Bugs kann man sich dann aber wirklich nicht mehr auf den Browser verlassen…
Hallo David,
ich habe auch ganz kräftig gestutzt, als ich den Bug bemerkt habe. Danke für den Link. Anscheinend halten es auch die Mozilla / Firefox-Entwickler nicht immer ganz so wichtig jeden Bug zu beheben.
Pingback: rpsblog.com » A week of symfony #35 (27 August -> 2 September 2007)
Hallo,
also das selbe Problem hatte ich einst auch, mir ging es v.a. um die im Admin Generator fehlerhaften Dateiendungen (.bin). Dazu folgendes:
http://www.symfony-project.org/forum/index.php/m/16907/#msg_16907
Viele Grüße
Ralf
Hallo Ralf,
den im Forums-Beitrag vorgeschlagenen Ansatz habe ich letztendlich auch bzw. so ähnlich umgesetzt. Und seitdem ist die Welt wieder schön 😉