Dokumentation HTTPUpload Applet 1.3 von Enrico Bär ( 08.06.2007 ) Dieses Applet dient zum verbesserten Upload von Dateien ins Internet. Es verhält sich identisch mit dem Browser Upload von einem Formular. Die Upload-Methode dabei ist POST. Man kann mehrere Dateien über eine Dialogbox auswählen und diese automatisch hochladen. Das Applet lädt dabei jede Datei einzeln hoch, macht also kein Multiupload. Es bekommt für jede Datei die Bestätigung vom Server. Alternativ kann seit Version 1.1 auch ein FTP-Upload genutzt werden. Der Modus wird über den Parameter useftp eingestellt. Beachten Sie, dass der Standardport 21 für FTP (z.b. in Firmennetzen) meist nicht freigegeben ist. Mit Version 1.1 ist auch die Sprachunterstützung für Deutsch und Englisch dazugekommen. Zusätzlich gibt es noch spezielle Funktionen für Bilderuploads. Es ist eine Vorschau für JPEG und PNG Dateien vorhanden. Für die gleichen Dateitypen können Bilder auch auf eine feste Größe gebracht werden, bevor sie hochgeladen werden. Folgende Parameter können dem Applet übergeben werden: ISOLanguage (1.1) Gibt die Sprache des Applets an. Derzeit gibt es Unterstützung für Deutsch( de ) und Englisch ( en ). (String, Default de ) maxfiles maximale Anzahl von Dateien in einem Uploadprozeß. Nur relevant bei limitedfiles TRUE. (Integer, Default 50) maxfileswarning Warnungstext bei Auswahl von mehr Dateien als in maxfiles angegeben. Nur relevant bei limitedfiles TRUE. (String, Default Upload-Anzahl ist auf 50 beschränkt ) limitedfiles Dateien auf eine Anzahl pro Uploadprozeß beschränken UploadURL Zielpfad vom Empfangsscript, genau wie im HTML das ACTION-Attribut (String, z.b. http://localhost/gal/javaupload.php oder javaupload.php ) FTPServer (1.1) Bezeichnung des FTP-Servers (z.b. www.kadiba.de ). Nur relevant bei useftp TRUE. (String, Default leer ) FTPPort (1.1) Gibt den Port des FTP-Servers an. Nur relevant bei useftp TRUE. (Integer, Default 21)
FTPDirectory (1.1) Gibt das Verzeichnis auf dem FTP-Server an. Falls das Verzeichnis nicht existiert, wird versucht es anzulegen. Angaben wie upload/pictures sollten auch funktionieren. relevant bei useftp TRUE. (String, Default ) FTPUser (1.1) Gibt den Usernamen für den FTP-Account an und ist für das Login notwendig. Nur relevant bei useftp TRUE. (String, Default ) FTPPW (1.1) Gibt das Passwort für den FTP-Account an und ist für das Login notwendig. Nur relevant bei useftp TRUE. (String, Default ) FTPPassivMode (1.1) Gibt den FTP-Connection-Modus an (Passiv oder Aktiv). Nur relevant bei useftp TRUE. (Boolean, Default TRUE) useftp (1.1) Bestimmt den Uploadmodus HTTP-Upload oder FTP-Upload. FilterExtensions Dateifilter für die Auswahl im Dateidialog. Nur relevant bei Filefilter TRUE. (String, Default jpg,jpeg,png,gif ) Filefilter Dateifilter aktivieren. resizeimagewidth Bildbreite für Verkleinerung bzw. Vergrößerung (Querformat). Nur relevant bei resizeimage TRUE. (Integer, Default 500) resizeimageheight Bildhöhe für Verkleinerung bzw. Vergrößerung (Hochformat). Nur relevant bei resizeimage TRUE. (Integer, Default 500) resizequality JPEG-Bildqualität für das geänderte Bild. Nur relevant bei resizeimage TRUE. (Integer, Default 82) onlyminresize Bilder nur Verkleinern. Nur relevant bei resizeimage TRUE. (Boolean, Default TRUE) resizeimage Größenänderung für Bilder aktivieren. WICHTIG: Wird die Größe tatsächlich geändert, entsteht immer eine JPG-Datei, d.h. die Größenänderung beinhaltet ggf. auch eine Konvertierung. Folgende Formate können konvertiert werden: GIF, JPG, PNG.
startscripturl(1.3) Ist eine URL angegeben wird vor dem Upload noch eine Datei geladen. So kann z.b. ein serverseitiges Script angestartet werden. finalscripturl(1.3) Ist eine URL angegeben wird nach dem Upload noch eine Datei geladen. So kann z.b. ein serverseitiges Script angestartet werden. labeladdbutton Bezeichnung für den Hinzufügen-Button. String, Default Hinzufügen ) labelremovebutton Bezeichnung für den Entfernen-Button. (String, Default Entfernen ) labeluploadbutton Bezeichnung für den Upload-Button. (String, Default Hochladen ) labelcancelbutton Bezeichnung für den Abbrechen-Button (String, Default Abbrechen ) BackgroundColor Hintergrundfarbe in HTML-Angabe. (String, HEX-Wert, z.b. CC0000 ) TextColor Textfarbe in HTML-Angabe. (String, HEX-Wert, z.b. 000000 ) StatusColor Fensterfarbe in HTML-Angabe. (String, HEX-Wert, z.b. FFFFFF ) Funktionen die mit JavaScript aufrufbar sind: Oft benötigt man zusätzliche Variablen, die man mit jedem HTTP-Upload mitgeben muß, damit das Empfangsscript ordentlich funktionieren kann. Dazu können folgende Funktionen hilfreich sein. Es gibt lediglich zwei Wege. Zum Einen kann ein Formular mit Hidden-Feldern (max. 20) aufgebaut werden, die dann nach Funktionsaufruf vom Applet einmalig ausgelesen werden, zum Anderen können die Uploadparameter (unbeschränkt) direkt mit Javascript gesetzt werden. Diese Funktionen sind für eine Nutzung von FTP unrelevant. Uploadvariablen readhtmluploadparameters() Es ist möglich ein HTML Formular mit dem Namen HTMLUpload im FORM-Tag auf der Applet- Seite anzulegen. Darin können Hidden-Variablen mit folgendem Format anglegt werden, um Variablen mit dem Upload mitzusenden. Beispiel: <applet code="...>...</applet>
<form name="htmlupload"> <input type="hidden" name="attribut0" value="id=5"> <input type="hidden" name="attribut1" value="user=v.001"> </form> <script type="text/javascript"> readhtmluploadparameters(); <script> Es werden die Variablen id und user mit den Werten 5 und V.001 für jeden Upload mitgesendet. Im Formular sind Variablennamen von attribut0 bis attribut19 erlaubt.
sethtmluploadparameter( String Variable, String Wert ) Hier können dem Upload eine oder mehrere Variablen inklusive Werten mitgegeben werden. Beispiel: sethtmluploadparameter( galerie_id, 5 ); clearhtmluploadparameter() Alle zusätzlichen Uploadparameter löschen. removehtmluploadparameter( String Variable ) Einen bestimmten Uploadparameter mit dem Wert löschen. Controlfunktionen: start() Applet starten. stop() Applet stoppen. init() Applet neu initialisieren (Parameter neu auslesen). setparameter( String Parameter, String Wert ) (1.1) Sie können alle Appletparameter, die sie mit HTML an das Applet übergeben, ebenfalls mit JavaScript nachträglich setzen bzw. verändern. Diese Funktion ist nicht mit der Funktion sethtmluploadparameter( String Variable, String Wert ) zu verwechseln. activatebuttonremove() Ausgewählte Datei entfernen. Entfernen-Button auslösen. activatebuttoncancel() Upload unterbrechen. Abbrechen-Button auslösen. Sonstiges setstatus( String Text ) Der Text erscheint im Statusfenster. getappletinfo() Zeigt die Appletinformationen an. refresh() Die Anzeige vom Applet wird refresht.
So sieht die Einbindung in HTML aus <applet code="org.kadiba.httpupload.httpupload" archive="applet/httpupload.jar" mayscript="mayscript" width="600" height="350" name="httpuploadapplet" alt="httpupload.jar by www.kadiba.de"> <param name="isolanguage" value="de"> <param name="maxfiles" value="100"> <param name="maxfileswarning" value="die Anzahl pro Upload ist auf 100 begrenzt"> <param name="uploadurl" value="java_upload.php"> <param name="startscripturl" value="begin.php"> <param name="finalscripturl" value="end.php"> <param name="ftpserver" value="your.ftpserver.com"> <param name="ftpport" value="21"> <param name="ftpdirectory" value="uploaddirectory/pictures"> <param name="ftpuser" value="testuser"> <param name="ftppw" value="testpw"> <param name="useftp" value="false"> <param name="ftppassivmode" value="true"> <param name="filterextensions" value="jpg,jpeg,png"> <param name="resizeimagewidth" value="500"> <param name="resizeimageheight" value="500"> <param name="onlyminresize" value="true"> <param name="resizequality" value="100"> <param name="limitedfiles" value="true"> <param name="filefilter" value="true"> <param name="resizeimage" value="true"> <param name="labeladdbutton" value="hinzufügen"> <param name="labelremovebutton" value="entfernen"> <param name="labeluploadbutton" value="hochladen"> <param name="labelcancelbutton" value="abbrechen"> <param name="backgroundcolor" value="cc0000"> <param name="textcolor" value="000000"> <param name="statuscolor" value="ffffff"> Ihr Browser unterstützt keine Applets. Bitte installieren Sie sich aktuelle JDK von sun. Den Download gibts auf <a href="http://www.java.com/">java.com</a> </applet> Achten Sie auf das Schlüsselwort mayscript, falls Sie mit Javascript Funktionen vom Applet aufrufen wollen. Viel Spaß Ihr Kadiba-Team www.kadiba.de