| java.lang.Object com.teamkonzept.field.TKBaseField com.teamkonzept.field.TKUploadField
TKUploadField | public class TKUploadField extends TKBaseField implements TemplateConstants(Code) | | The upload field control.
Die Klasse TKUploadfield stellt Methoden zur Verfuegung, Uploads zu ermoeglichen und
die hochgeladenen Dateien (Bilder) darzustellen, sowie die Daten in der Datenbank zu speichern.
Das Verzeichnis, in dem die Bilder gespeichert werden sollen, wird mit dem Parameterhash
uebergeben. Der Key ist mit UPBASE banannt.
1. Upload von Dateien
Die im UPBASE liegenden Dateien werden ausgelesen und in einem Pulldown-
menue zur Auswahl gestellt.
2 Upload von Dateien vom lokalen Rechner auf den Server
Dateien koennen vom lokalen Rechner in das UPBASE-Verzeichnis auf den Server
kopiert werden. Es besteht die Moeglichkeit, Dateinamen zu aendern.
Das Upload benoetigt 2 Templates.
1. Datei-Auswahl
Das erste (ce_upload.tmpl und ct_upload.tmpl)
stellt Funktionalitaeten zur Verfuegung, die die Auswahl der Dateien ermoeglicht.
2. Darstellung der Datei
Das 2. Template (field_option.tmpl) stellt das Bild da und enthaelt einen Button "Modify".
Wird dieser Event ausgeloest, wird das Template zur Datei-Auswahl wieder generiert.
Die Events fuer das Modify werden im Hauptprogramm (CTGenerator) abgearbeitet.
author: $Author: alex $ version: $Revision: 1.52.2.1 $ |
Method Summary | |
public String | addExtension(String name, String contentType) | public String | changeExtension(String fileName, String contentType) | public static String | checkFileName(String fileName) | public TKHashtable | checkUpload(TKHashtable params, String dir, String action) | public TKHashtable | clearParams(TKHashtable params) | public boolean | compareMimes(String contentType) | public Object | compileData(String prefix, TKHashtable data, TKHashtable context) | public Object | compileData(String prefix, TKMarkupNode data, TKHashtable context) | public void | createDir(String dir) | public boolean | equals(Object object) Checks wether this object and the specified object
may be treated as equal.
Parameters: object - the object to checked for equality. | public File | extModify(String action, TKHTMLTemplate t, TKHashtable params, String fieldPath) Wird das Upload aktiviert stehen zwei Funktionalitaeten zur Verfuegung:
1. | public void | fillAttributesIntoNode(Element node, Object data) | public void | fillIntoDOM(Document doc, Element node, Object data) | public void | fillIntoPresentation(TKHTMLTemplate t, Object data, String scope) | public void | fillIntoTemplate(TKHTMLTemplate t, Object value, String prefix) | public TKHashtable | finishExtModify(String action, TKHashtable params) Ein ausgewaehltes File vom server werden so in den Parameterhash aufgenommen,
so dass sie (siehe compileData) angezeigt werden.
Wurde ein File vom Server ausgewaehlt, so enthaelt der Parameter GETFILENAME
den hochzuladenden Dateinamen und kann direkt angezeigt werden.
Win hochgeladenes File vom lokalen Rechner wird zuerst in einem temporaeren
Verzeichnis gespeichert und danach in das altuelle UPBASE-Verzeichnis.
Wurde ein File vom lokalen Rechner hochgeladen, so enthaelt der Parameter ein
Objekt vom Typ TKUploadFileInputStream (abgeleitet von TKFileInputStream). | public static String | fixContentType(String contentType) Fixes the specified content type.
Opera browsers report the content type as follows:
image/jpeg; name="image.jpeg" . | public TKVector | getAllFromMime(String section) | public TKVector | getAllSections(TKHashtable iniHash) | public Object | getDataFromDB(TKContentDBData db) | public TKFieldGroup | getDefGroup(TKFieldSwitch allSwitch, TKFieldSwitchList allSwitchList) | public Object | getDefault() | public TKVector | getExtensions(String extensions, String valSep) | public String[] | getFileList(String dir, TKVector extensionVector) | public String | getFilename(TKHashtable params) | public String | getFilenameAndPath(TKHashtable params, String dir) | public TKVector | getFilesOfBeginning(TKVector selectList) | public TKVector[] | getMimeAuswahlListe(TKVector selectList) | public TKVector[] | getMimeAuswahlListeAll(String section) | public TKVector | getMimeList(TKVector selectedSections) | public String[] | getNameAndExt(String fileName, String contentType) | public String | getNewFileName(String fileName) | public TKVector | getSectionKeys(String section, TKHashtable iniHash) | public TKVector | getSectionVals(String section, TKHashtable iniHash) | public TKVector | getSpecialExt(String content) | public TKBaseField | getTarget(String fieldPath, String prefix, Object data) Diese Methode wird fuer die Bearbeitung des Events "EXT_MODIFY" fuer
ein Upload benoetigt.
Diese Methode ermoeglicht es die Field-Hierachie zu durchlaufen.
Komplexe Fields enthalten Sub-Fields, die entweder Atomfields sind oder
wiederum Sub-Fields enthalten. | public void | handleUpload(TKHTMLTemplate t, TKHashtable params, String dir, String action) | public int | hashCode() Returns the hash code for this object. | public void | init(String fieldClass, Object data) | public void | initFromDB(String classId, TKFormDBData db, TKVector otherFields) | public static void | initStaticsForUpload(String root, String ini) | public static void | initStaticsForUpload(String root) | final public void | initUploadField(String type, String name, String showName, TKVector selectList) | public int | insertDataIntoDB(TKContentDBData db, Object data, int contentId, int leftNr) | public boolean | isExtension(String extension) | public boolean | isMimeApplication(String fileName, TKHashtable iniHash) | public boolean | isMimeImage(String fileName, TKHashtable iniHash) | public boolean | isSaveInDB() | public int | realInsertIntoDB(TKFormDBData db, int formId) | public void | saveParamsInVector(TKHashtable params, TKVector valVector, TKVector keyVector) | public void | saveToFilesystem(TKHashtable params, File tempFile, String fileName) | public void | setErrorCase(TKHTMLTemplate t, String name) | public TKHashtable | setFileName(String fileName, TKHashtable params) | public String | setFileSep(String dir) | public String | splitBrowserFileName(String fileName) | public TKVector | splitSectionVals(TKVector valVector, String sep) | public Object | toData() Der ausgewaehlte Mimetype in der Struktur wird in einem Hash gespeichert. | public static String | toFilename(String name) Überführt den String in einen brauchbaren Dateinamen, d.h.
es werde spaces, Umlaute etc. |
CLASS_ID | final public static String CLASS_ID(Code) | | The class identifier.
|
DEFAULT_INI_FILE | final public static String DEFAULT_INI_FILE(Code) | | Standard File fuer die erlaubten Mime Typen
|
GETFILENAMESTREAM | final public static String GETFILENAMESTREAM(Code) | | |
ONE_KB | final public static int ONE_KB(Code) | | Konstante fuer Buffer
|
length | protected int length(Code) | | |
saveInDB | protected boolean saveInDB(Code) | | werden Uploads in der DB oder im Filesystem gespeichert ?
|
showPics | protected boolean showPics(Code) | | werden Bilder gleich angezeigt ?
|
TKUploadField | public TKUploadField()(Code) | | Konstruktor 1
|
TKUploadField | public TKUploadField(String name)(Code) | | Konstruktor 2
Parameters: String - Name, ein beliebiger Name |
TKUploadField | public TKUploadField(String name, String showName)(Code) | | Konstruktor 3
Parameters: String - Name, ein beliebiger Name Parameters: String - showName, Name, den der Benuzer fuer das Feld gewaehlt hat |
compareMimes | public boolean compareMimes(String contentType)(Code) | | |
compileData | public Object compileData(String prefix, TKHashtable data, TKHashtable context)(Code) | | Interne Repraesentation der realen Daten eines Uploadfeldes durch eine
Hashtable mit den Keys BASEPATH_PAR und FILENAME_PAR
prefix, der prefix data, die realen Daten fuer das Upload result,FILENAME= Name der Datei, UPBASE= Ablageverzeichnis} |
equals | public boolean equals(Object object)(Code) | | Checks wether this object and the specified object
may be treated as equal.
Parameters: object - the object to checked for equality. true if this object and thespecified object may be treated as equal, otherwisefalse . |
extModify | public File extModify(String action, TKHTMLTemplate t, TKHashtable params, String fieldPath)(Code) | | Wird das Upload aktiviert stehen zwei Funktionalitaeten zur Verfuegung:
1. Hochladen eines Files vom Server. Auswahl ueber ein Pulldoenmenue.
Es existiert ein Verzeichnis, in dem Files zum hochladen liegen muessen.
Der Key UPBASE im Parameterhash gibt dieses an. Zuerst wird dieses Ver-
zeichnis eingelesen und die darinliegenden Dateien in das Pulldownmenue
eingetragen.
2. Hochladen eines Files vom lokalen Rechner
Da zuerst ein Template (ce_upload.tmpl bzw ct_upload.tmpl) zur Auswahl der
Files angezeigt wird und erst nach abschicken der Auswahl das Template (field_upload.tmpl)
geladen wird, welches das UploadField anzeigt, werden die Parameter als Hidden-Liste
weitergegeben.
action, die aktuelle Aktion, MODIFY t, ct_upload.tmpl bzw. ce_upload.tmpl, Fileauseahlmoeglichkeiten params, der Parameterhash fieldPath, sas zuletzt ausgewaehlte File im Pulldownmenue |
finishExtModify | public TKHashtable finishExtModify(String action, TKHashtable params)(Code) | | Ein ausgewaehltes File vom server werden so in den Parameterhash aufgenommen,
so dass sie (siehe compileData) angezeigt werden.
Wurde ein File vom Server ausgewaehlt, so enthaelt der Parameter GETFILENAME
den hochzuladenden Dateinamen und kann direkt angezeigt werden.
Win hochgeladenes File vom lokalen Rechner wird zuerst in einem temporaeren
Verzeichnis gespeichert und danach in das altuelle UPBASE-Verzeichnis.
Wurde ein File vom lokalen Rechner hochgeladen, so enthaelt der Parameter ein
Objekt vom Typ TKUploadFileInputStream (abgeleitet von TKFileInputStream). Die
Methode getUploadFileName() gibt Laufwerksname-Pfad-Dateiname zurueck, so dass
der Dateiname ermittelt werden kann. Der Parameter NEW_FILENAME enthaelt, falls
eingegeben, den neuern Dateinamen.
action, die aktuelle Aktion, UPLOAD oder GETFILE params, der Parameterhash den Parameterhash |
fixContentType | public static String fixContentType(String contentType)(Code) | | Fixes the specified content type.
Opera browsers report the content type as follows:
image/jpeg; name="image.jpeg" . This
method simply cuts off these extensions.
Parameters: contentType - the content type to be fixed. the fixed content type. |
getDefGroup | public TKFieldGroup getDefGroup(TKFieldSwitch allSwitch, TKFieldSwitchList allSwitchList)(Code) | | Methode zur Definition eines Uploadfeldes
Die Struktur eines Upload-Feldes besteht aus einer Gruppe von zwei Inputfeldern, mit
denen Name und Beschreibung festgelegt werden und eines Selectfeldes, welches die
aus dem Inifile gelesenen mimetypes enthaelt
allSwitch, wird hier nicht benoetigt allSwitchList, wird hier nicht benoetigt eine Gruppe die die Definition des Uploadfeldes enthaelt |
getDefault | public Object getDefault()(Code) | | Die realen Daten (interne Repraesentation) fuer ein Uploadfeld bestehen
aus einem Filenamen und dem Ablageverzeichnis
result, die Values sind der leere String |
getTarget | public TKBaseField getTarget(String fieldPath, String prefix, Object data)(Code) | | Diese Methode wird fuer die Bearbeitung des Events "EXT_MODIFY" fuer
ein Upload benoetigt.
Diese Methode ermoeglicht es die Field-Hierachie zu durchlaufen.
Komplexe Fields enthalten Sub-Fields, die entweder Atomfields sind oder
wiederum Sub-Fields enthalten. Ist die Hierachie durchlaufen, wird das letzte
Basefield zurueckgegeben.
Siehe auch: doCTExtModify() in CTGenerator.java
Parameters: fieldPath - Parameters: prefix - Parameters: data - das Objekt selbst |
hashCode | public int hashCode()(Code) | | Returns the hash code for this object.
the hash code for this object. |
initStaticsForUpload | public static void initStaticsForUpload(String root, String ini)(Code) | | |
initStaticsForUpload | public static void initStaticsForUpload(String root)(Code) | | |
initUploadField | final public void initUploadField(String type, String name, String showName, TKVector selectList)(Code) | | Funktionalitaet eines Konstruktors
Parameters: String - type, CLASS_ID Parameters: String - Name, ein beliebiger Name Parameters: String - showName, Name, den der Benuzer fuer das Feld gewaehlt hat Parameters: TKVector - selectList, vector enthaelt die ausgewaehlten Elemente (multiple Switch) |
isExtension | public boolean isExtension(String extension)(Code) | | |
isSaveInDB | public boolean isSaveInDB()(Code) | | Getter fuer saveInDB
werden die Uploads in die Datenbank gespeichert |
saveParamsInVector | public void saveParamsInVector(TKHashtable params, TKVector valVector, TKVector keyVector)(Code) | | Paraeter werden in einer liste als Hidden weitergegeben
|
setFileName | public TKHashtable setFileName(String fileName, TKHashtable params)(Code) | | Hilfsmethode fuer finishExtModify
fileName, das Upload-File params, der Parameterhash den Parameterhash |
splitBrowserFileName | public String splitBrowserFileName(String fileName)(Code) | | Bsp filename vom browser: C:\..\x.y
|
toData | public Object toData()(Code) | | Der ausgewaehlte Mimetype in der Struktur wird in einem Hash gespeichert.
result, enhaelt die uebergabe aus der Struktur |
toFilename | public static String toFilename(String name)(Code) | | Überführt den String in einen brauchbaren Dateinamen, d.h.
es werde spaces, Umlaute etc. ersetzt.
|
Methods inherited from com.teamkonzept.field.TKBaseField | public void addToContext(Object value, String key, TKHashtable context)(Code)(Java Doc) public void clearId()(Code)(Java Doc) abstract public Object compileData(String prefix, TKHashtable data, TKHashtable context)(Code)(Java Doc) abstract public Object compileData(String prefix, TKMarkupNode data, TKHashtable context)(Code)(Java Doc) public boolean equals(Object object)(Code)(Java Doc) public void fillAttributesIntoNode(Element node, Object data) throws DOMException(Code)(Java Doc) abstract public void fillIntoDOM(Document doc, Element node, Object value) throws DOMException(Code)(Java Doc) abstract public void fillIntoPresentation(TKHTMLTemplate t, Object value, String prefix)(Code)(Java Doc) public void fillIntoTemplate(TKHTMLTemplate t, Object value, String prefix)(Code)(Java Doc) public TKHashtable finishExtModify(String action, TKHashtable params)(Code)(Java Doc) public TKContentNodeTableData getContentNodeFromDB(TKContentDBData db)(Code)(Java Doc) public TKContentValueTableData getContentNodeValueFromDB(TKContentDBData db, TKContentNodeTableData node)(Code)(Java Doc) abstract public Object getDataFromDB(TKContentDBData db)(Code)(Java Doc) final public static TKFieldSwitchData getDataOfAlternative(TKBaseField field)(Code)(Java Doc) final public static TKFieldSwitchListData getDataOfAlternatives(TKVector fieldList)(Code)(Java Doc) abstract public TKFieldGroup getDefGroup(TKFieldSwitch allSwitch, TKFieldSwitchList allSwitchList)(Code)(Java Doc) public Object getDefault()(Code)(Java Doc) public TKBaseField getField(String fieldPath, String prefix)(Code)(Java Doc) public String getFieldAttribute(TKFormDBData db, String name, int idx)(Code)(Java Doc) final public static TKHashtable getFieldHashFromList(TKVector fieldList)(Code)(Java Doc) public Object getFromContext(String key, TKHashtable context)(Code)(Java Doc) public String getInternationalName()(Code)(Java Doc) final public static TKVector getListOfFields(TKFieldSwitchListData switchListData) throws TKUnregisteredClassException, ClassNotFoundException, InstantiationException, IllegalAccessException(Code)(Java Doc) final public String getName()(Code)(Java Doc) final public String getShowName()(Code)(Java Doc) public TKBaseField getSubField(TKFormDBData db, String name, int idx, TKVector otherFields) throws TKUnregisteredClassException, ClassNotFoundException, InstantiationException, IllegalAccessException(Code)(Java Doc) public TKVector getSubFieldList(TKFormDBData db, String name, TKVector otherFields) throws TKUnregisteredClassException, ClassNotFoundException, InstantiationException, IllegalAccessException(Code)(Java Doc) public TKBaseField getTarget(String fieldPath, String prefix)(Code)(Java Doc) final public String getType()(Code)(Java Doc) public boolean hasFieldAttribute(TKFormDBData db, String name, int idx)(Code)(Java Doc) public int hashCode()(Code)(Java Doc) public void init(String fieldType, Object initData) throws TKUnregisteredClassException, ClassNotFoundException, InstantiationException, IllegalAccessException(Code)(Java Doc) final public void initBaseField(String fieldType, String fieldName, String showName)(Code)(Java Doc) public void initFromDB(String classId, TKFormDBData db, TKVector otherFields) throws TKUnregisteredClassException, ClassNotFoundException, InstantiationException, IllegalAccessException(Code)(Java Doc) abstract public int insertDataIntoDB(TKContentDBData db, Object data, int contentId, int leftNr)(Code)(Java Doc) final public void insertDataIntoDB(TKContentDBData db, Object data)(Code)(Java Doc) public void insertIntoDB(TKFormDBData db)(Code)(Java Doc) public TKContentNodeTableData insertNewContentNode(TKContentDBData db, int contentId, int leftNr)(Code)(Java Doc) public void insertNewContentValue(TKContentDBData db, int contentId, int contentNodeId, int idx, String value)(Code)(Java Doc) public void insertNewContentValue(TKContentDBData db, int contentId, int contentNodeId, int idx, String value, Integer mediaID)(Code)(Java Doc) public void insertNewFieldAttribute(TKFormDBData db, int formId, String name, int idx, String value)(Code)(Java Doc) public TKSubFieldTableData insertNewSubField(TKFormDBData db, int formId, String name, int idx)(Code)(Java Doc) public void insertNewSubFieldList(TKFormDBData db, int formId, String name, TKVector fieldList)(Code)(Java Doc) public Object modify(String action, String fieldPath, Object data, String prefix, StringBuffer destination)(Code)(Java Doc) public String modify(String action, String fieldPath, Object data)(Code)(Java Doc) final public static TKContentNodeTableData peekNextContentNode(TKContentDBData db)(Code)(Java Doc) public int realInsertIntoDB(TKFormDBData db, int formId)(Code)(Java Doc) final public static void removeNextContentNode(TKContentDBData db)(Code)(Java Doc) public void setName(String newShowName, String newFieldName)(Code)(Java Doc) public Object toData()(Code)(Java Doc)
|
|
|