2017-12-03 4 views
0

Ich habe keine guten Beispiele für das Lesen durch eine TXT-Datei durch eine Datei-Eingabe-Typ in Web Forms gefunden.Lesen Sie die Werte einer TXT-Datei, die auf Web-Formular hochgeladen wird

Kann in C# eine TXT-Datei gelesen werden, ohne dass der Pfad fest codiert ist? Es muss ein Dutzend Beispiele online geben, bei denen der Pfad einer Zeichenfolge entspricht und der Dateiname an das Ende angehängt wird. Das Problem dabei ist, dass ich nicht weiß, ob der Benutzer es von seinem Desktop, seinem Dokumentenordner, einem zufälligen Ordner, den sie erstellt haben, usw. hochladen wird. Gibt es eine Möglichkeit, den Pfad jedes Mal leicht zu finden?

Ich hatte nur gehofft, es gab etwas so einfaches wie die Werte in ein 2D-Array zu setzen und durch sie zu durchlaufen, um mehr Validierung zu machen.

+0

Wenn Sie eine Datei auf ein Web-Formular hochladen, haben Sie einen Stream und Sie die Dateinamen erhalten. Der Webserver kann jedoch normalerweise nicht auf eine lokale Datei zugreifen. Wie auch immer, diese Frage ist zu weit gefasst, um für diese Seite geeignet zu sein, und es gibt eine Menge Ressourcen, um eine Datei hochzuladen. – Sefe

Antwort

0

Sie müssen nicht wissen oder kümmern sich um das Verzeichnis, weil Sie eine Stream erhalten und Sie können daraus lesen. Nachdem das gesagt wurde, HttPostedFileBase hat FileName Eigentum, so dass Sie in das schauen können, um zu sehen, was es Ihnen zur Verfügung stellt. Die Dokumentation sagt:

Der Name der Datei auf dem Client, der den Verzeichnispfad enthält.

public ActionResult Test() 
{ 
    foreach (HttpPostedFileBase thisPic in this.Request.Files) 
    { 
     using (var reader = new StreamReader(thisPic.InputStream)) 
     { 
      // call methods on reader such as reader.ReadLine() etc. 
     } 
    } 
} 

Hier einiger Code ist es, Ihnen zu zeigen, wie die Datei zu lesen:

Verwandte Themen