FileUpload: Dateiname vorbelegen?

02/02/2009 - 13:12 von Ralf Kaiser | Report spam
Hallo,

ich habe im Moment folgendes Problem:

Auf einer Seite wird ein "Dateidialog" per Klick auf einen Button mittels
eines ModalPopupExtenders angezeigt.

In diesem ModalPopup sind ein wenig Erklàrungstext, ein FileUpload und 2
Buttons "OK" und "Abbrechen" enthalten. Das ganze dient dazu Dateien
hochzuladen die aber nur bestimmte Dateiendungen haben dürfen.

Nachdem auf "OK" geklickt wurde wird per "FileUpload.PostedFile.FileName"
geprüft ob eine Date angegeben wurde und ob sie eine der unterstützten
Dateiendungen hat. Fehlt die Endung oder ist nicht unterstützt dann wird das
ModalPopup direkt wieder angezeigt, enthàlt aber jetzt zusàtzlich noch eine
Fehlermeldung (z.B. "Dateityp wird nicht unterstützt").

Bei diesem erneuten Anzeigen des ModalPopups ist der Dateiname natürlich
nicht mehr im FileUpload eingetragen, es hat ja zwischenzeitlich ein
Postback, ausgelöst durch den OK-Button stattgefunden.

Ich suche jetzt anch einer Möglichkeit nach dem Postback den Fehlerhaften
Dateinamen wieder in das FileUpload-Control einzutragen. Wie kann ich das
erreichen? (geht das überhaupt?? - Dass die Eigenschaft "FileName" wengen
potentieller Sicherheitsprobleme ReadOnly ist ist mir klar, aber so sind
halt momentan die Anforderungen)

Ach ja: Dinge wie "FileUpload.Attributes.Add("defaultFileName","Dateiname")
oder FileUpload.Attributes.Add("Value","Dateiname") habe ich schon ohne
Erfolg ausprobiert.

Danke schon mal,
Ralf
 

Lesen sie die antworten

#1 Thomas Bandt
02/02/2009 - 13:47 | Warnen spam
Ralf Kaiser schrieb:
Ich suche jetzt anch einer Möglichkeit nach dem Postback den
Fehlerhaften Dateinamen wieder in das FileUpload-Control einzutragen.
Wie kann ich das erreichen? (geht das überhaupt?? - Dass die Eigenschaft
"FileName" wengen potentieller Sicherheitsprobleme ReadOnly ist ist mir
klar, aber so sind halt momentan die Anforderungen)

Ach ja: Dinge wie
"FileUpload.Attributes.Add("defaultFileName","Dateiname") oder
FileUpload.Attributes.Add("Value","Dateiname") habe ich schon ohne
Erfolg ausprobiert.



Diese Anforderungen sind so nicht umsetzbar, aus den von dir bereits
erwàhnten Sicherheitsgründen. Stell dir vor man könnte das Ding mit
c:\windows\...exe vorbelegen und mit JS abfeuern.

Mal davon abgesehen: welchen Sinn sollte es machen eine Datei
vorzubelegen, die dann ja doch nicht für den Upload erlaubt ist? Imho
keinen. Und den Ordner, in dem sich die Datei befindet, merkt sich der
Browser imho sowieso, d.h. beim erneuten Klick auf "Durchsuchen" muss
man sich eigentlich nicht erneut durch seine lokale Ordnerstruktur hangeln.

Gruß, Thomas

Ähnliche fragen