Codierung bei html input=file (Datei Upload)

29/01/2009 - 15:42 von Lutz Elßner | Report spam
Der User am Web Browser seiner Wahl sitzt im Land seiner Wahl und will
mir Text Dateien auf meinen Webserver hochladen, mit dem Upload Control.
-> Notepad Dateien, im Inhalt steht die Codierung nicht, wie bei XML, HTML

An welcher Stelle wird erkannt, in welcher ANSI oder UNICODE Codierung
die Datei gespeichert war? Vor oder nach dem Upload?

Wird der Content-Type vom Browser oder vom Webserver erraten?
Die Datei Endung spielt ja keine Rolle.

An welcher Stelle wird erkannt, ob es überhaupt eine Textdatei ist?
Andere Dateien müssen ja byteweise erhalten bleiben.

Am Ende will ich in der Webanwendung
a) erkennen ob es eine Textdatei ist
b) diese in einen String lesen.

Lutz
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
29/01/2009 - 16:24 | Warnen spam
Hallo Lutz,

"Lutz Elßner" schrieb:

An welcher Stelle wird erkannt, in welcher ANSI oder UNICODE Codierung
die Datei gespeichert war? Vor oder nach dem Upload?



Gar nicht. Die Datei wird genauso gespeichert, wie sie ankommt. Also nicht
als Textdatei. Von daher spielt die Codierung IMO keine Rolle.

Wird der Content-Type vom Browser oder vom Webserver erraten?



Vom Browser. Aber nicht erraten, sondern anhand der Systemeinstellungen
des Clients.

Die Datei Endung spielt ja keine Rolle.



Bedingt schon.

An welcher Stelle wird erkannt, ob es überhaupt eine Textdatei ist?



Gar nicht.

Andere Dateien müssen ja byteweise erhalten bleiben.



_Alle_ Dateien müssen identisch erhalten bleiben. Darum liest man auch
keinen String aus dem Requeststream aus, sondern die einzelnen Bytes.

Am Ende will ich in der Webanwendung
a) erkennen ob es eine Textdatei ist



Geht nicht. Du kannst prüfen, ob der ContentType vom Browser dem einer
Textdatei entspricht (bspw. text/plain, text/html, ...) oder ob die
Dateiendung auf eine Textdatei hindeutet (.txt, .htm, .xml, ...)

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen