Bug 25031 - IE[89]: Warnung bei zu großen Bildern kommt nicht
IE[89]: Warnung bei zu großen Bildern kommt nicht
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Users
UCS 3.0
Other Linux
: P5 minor (vote)
: UCS 3.0-2
Assigned To: Jascha Geerds
Florian Best
: interim-2
: 27703 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-11-30 17:05 CET by Andreas Büsching
Modified: 2013-02-25 12:23 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Usability
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Büsching univentionstaff 2011-11-30 17:05:07 CET
Wenn man versucht bei einem Benutzer ein Bild hochzuladen, das größer ist als 512KB (Grenze im Frontend) sollte eigentlich eine Warnung kommen. Die wird nicht angezeigt und stattdessen passt für den Benutzer nichts ersichtliches.
Comment 1 Alexander Kläser univentionstaff 2011-12-01 10:49:44 CET
Das Problem liegt wahrscheinlich daran, dass JavaScript-seitig nicht überprüft werden kann wie groß die Datei ist (in den anderen Browsern geht das). Die Daten werden dann an das Backend geschickt, was den Upload verweigert. Der IE erwartet, dass die Daten per iFrame zurück gesendet werden, also im Format

  <html><body><textarea>{ ... JSON-Daten ... }</textarea></body></html>

Da dies aber nicht der Fall ist (der Server schickt einfach nur JSON-Daten im Body zurück), Schlägt nachher der Zugriff auf das textarea-Element fehl.
Comment 2 Florian Best univentionstaff 2012-06-21 09:47:21 CEST
*** Bug 27703 has been marked as a duplicate of this bug. ***
Comment 3 Florian Best univentionstaff 2012-06-21 10:11:09 CEST
Das ist insbesondere dann der Fall, wenn der Request mit statuscode !== 200 beantwortet wird.
Comment 4 Andreas Büsching univentionstaff 2012-06-21 10:31:05 CEST
Wenn die Fehlererkennung funktioniert müssen auch die UCR-Variablen umc/server/upload/min_free_space und umc/server/upload/max für IE getestet werden (siehe Bug #27415).
Comment 5 Alexander Kläser univentionstaff 2012-06-21 12:36:15 CEST
Der Bug kann zum Debuggen unter Chrome/FF auch forciert werden, indem in umc.widgets.Uploader.buildRendering() die folgende Option hinzugefügt wird:

====================
this._uploader = new dojox.form.Uploader({ 
    ...
    force: 'iframe' // → forciert den iframe-Modus für alle Browser
});
====================
Comment 6 Jascha Geerds univentionstaff 2012-06-28 13:32:04 CEST
Zusammenfassend kann man folgende Probleme nennen:
* Der IE prüft vor dem Upload nicht die Dateigröße
* Wenn der Upload fehlschlägt, bekommt der Nutzer keinerlei Rückmeldung angezeigt

Für den ersten Punkt gibt es leider keinen Fix. Es gibt lediglich die Option, dass das Flash-Plugin (statt dem IFrame-) genutzt wird. Auf diesem Weg könnte die Dateigröße ermittelt werden. Dies wird in diesem Bug jedoch nicht behandelt.

Das zweite Problem liegt - wie Alex schon sagte - an dem fehlenden <textarea>-Tag. Ich habe einen Patch für univention-dojo (5.0.21-1) erstellt. Es wird nun versucht auf den Inhalt vom <textarea>-Tag zuzugreifen, wenn dies fehlschlägt, wird der Inhalt vom <body>-Tag genommen. Die serverseitigen Fehlermeldungen werden nun auch im IE korrekt angezeigt.

Das betrifft natürlich auch die Fehlermeldung, dass die hochgeladene Datei ggf. zu groß ist - leider geschieht dies erst _nach_ dem Upload.

Das Paket ist gebaut; Changelog ist vorhanden.
Comment 7 Florian Best univentionstaff 2012-07-02 11:53:11 CEST
(In reply to comment #6)
> Für den ersten Punkt gibt es leider keinen Fix. Es gibt lediglich die Option,
> dass das Flash-Plugin (statt dem IFrame-) genutzt wird. Auf diesem Weg könnte
> die Dateigröße ermittelt werden. Dies wird in diesem Bug jedoch nicht
> behandelt.
Ja

> Das zweite Problem liegt - wie Alex schon sagte - an dem fehlenden
> <textarea>-Tag. Ich habe einen Patch für univention-dojo (5.0.21-1) erstellt.
> Es wird nun versucht auf den Inhalt vom <textarea>-Tag zuzugreifen, wenn dies
> fehlschlägt, wird der Inhalt vom <body>-Tag genommen. Die serverseitigen
> Fehlermeldungen werden nun auch im IE korrekt angezeigt.
leider gibt es auch kein <body>-Tag:
{ "status": "400 Bad Request", "message": "The size of the uploaded file is too large" }
Comment 8 Jascha Geerds univentionstaff 2012-07-02 14:25:31 CEST
Header/Body-Tag wird automatisch noch hinzugefügt.

Das Problem war, dass ich lediglich das Paket 'univention-dojo' gebaut habe. Damit die Änderungen auch auf einem "normalen" System vorhanden sind, musste 'univention-management-console-frontend' noch mal neu gebaut werden, gegen unsere gefixte Dojo-Version.

univention-management-console-frontend (1.0.383-2)

Das Paket ist gebaut.
Comment 9 Florian Best univentionstaff 2012-07-02 15:08:57 CEST
(In reply to comment #8)
> Das Problem war, dass ich lediglich das Paket 'univention-dojo' gebaut habe.
> Damit die Änderungen auch auf einem "normalen" System vorhanden sind, musste
> 'univention-management-console-frontend' noch mal neu gebaut werden, gegen
> unsere gefixte Dojo-Version.
Stimmt

Changelog ist auch vorhanden.
Comment 10 Stefan Gohmann univentionstaff 2012-07-20 15:25:31 CEST
UCS 3.0-2 has been released: 
  http://forum.univention.de/viewtopic.php?f=54&t=1905

If this error occurs again, please use "Clone This Bug".