Steffen: File(up)load mit javaScript

Hi,

ich möchte auf einer Website ein Bild hochladen. Diese soll dann in eine Art Rahmen eingefasst werden. Darin soll es gedreht (in 90° Schritten) scaliert und verschoben werden können. (Nachdem es so "bearbeitet" wurde soll es im Original zusammen mit eine Beschreibung der durchgeführten Transformationen auf dem Server gespeichert werden. Aber das soll hier nicht das Thema sein.)

Nun fallen mir mehrere Möglichkeiten ein:

1. Das Bild auf den Server hochladen und die Verschiebungen usw. Serverseitig machen (z.B. imagemagick) und das Ergebnis immer wieder zum Browser übertragen. Lässt sich leicht umsetzen, ist aber bezgl. Serverlast, Datentransfer und usability ätzend.

2. Das ganze mit flash machen. Das möchte ich aus Gründen die hier zuweit führen möglichst vermeiden.

3. Wenn das Bild erstmal im Browser wäre, könnte ich die Verschiebungen, Skalierungen und Drehungen mit JavaScript und CSS machen. Das gine schnell und belasten weder Transfer noch Server. Wenn dem User das Ergebnis gefällt schickt er es zusammen mit den Information der durchgeführeten Transformationen zum Server.

Nur: wie bekomme ich das vom user ausgewählte Bild in den Browser?
Ich könnte es zum Server hochladen und dann wieder zum Broweser schicken. Aber das dauert ja dann wieder...

Wohl gemerkt: ich möchte nicht per JavaScript einen Datei aus dem lokalen Filesystem auf einen Server laden (ich weiß dass das aus gutem Grund nicht geht) sondern eine lokale Bilddatei in den lokalen Browser laden.

Gruß
Steffen

    1. Das Bild auf den Server hochladen

    Das muss sein

    1. Wenn das Bild erstmal im Browser wäre,

    Dazu musst du es hochladen und dann per HTTP wieder ausliefern - direkt vom lokalen Laufwerk verlinken wird schlecht möglich sein.

    könnte ich die Verschiebungen, Skalierungen und Drehungen mit JavaScript und CSS machen.

    Ja.

    Wenn dem User das Ergebnis gefällt schickt er es zusammen mit den Information der durchgeführeten Transformationen zum Server.

    Nein, du schickst dann nur noch die Transformationsinformationen zum Server - das Bild hat er dann schon.

    Nur: wie bekomme ich das vom user ausgewählte Bild in den Browser?

    Per Fileupload mit HTTP (hundsgewöhnliches Formular) - und Entgegennahme durch einen serverseitigen Automatismus. Diesen Teil kann man gerne auch per Ajax verbessern, dass man z.B. mehrere Bilder hochladen kann, ohne dass das Dokument ständig neu geladen wird.

    Ich könnte es zum Server hochladen und dann wieder zum Broweser schicken. Aber das dauert ja dann wieder...

    Das wird sich nicht vermeiden lassen :)

    Wohl gemerkt: ich möchte nicht per JavaScript einen Datei aus dem lokalen Filesystem auf einen Server laden (ich weiß dass das aus gutem Grund nicht geht) sondern eine lokale Bilddatei in den lokalen Browser laden.

    Schon klar - aber da wird dir ein Strich durch die Rechnung gemacht, weil du idR. nicht an den lokalen Pfad kommst.