Durchsuchen Sie eine Datei von meinem PC mit Web-Anwendung in asp.net
-
27-09-2019 - |
Frage
Ich habe eine Web-Anwendung, die ich mit dem IIS hochgeladen. Ich mag, dass die Benutzer die Anwendung mit der Lage wären, eine Datei auf ihrem (dem Benutzer) Computer auswählen und seinen Inhalt lesen.
Der Code lautet:
TextReader trs = new StreamReader(faFile.Value);
DataAccessLayer.clearFA();
string line = trs.ReadLine();
// Read all unneeded data
while (line != "** Start Data **")
{
line = trs.ReadLine();
}
line = trs.ReadLine();
while (line != null)
{
string[] words = line.Split('*');
// There is no message
if (words[4] == "")
{
DataAccessLayer.insertIntoFA(Int32.Parse(words[1]), words[3].Replace("'", ""));
}
else
{
DataAccessLayer.insertIntoFA(Int32.Parse(words[1]), words[4].Replace("'", ""));
}
line = trs.ReadLine();
}
}
Wenn ich es von meinem PC laufen funktioniert es. Aber wenn ich versuche, es zu laufen aus dem IIS es mir die folgende Störung gibt:
Could not find a part of the path 'C:\Documents and Settings\myUser\Desktop\file.txt'.
Ich verstehe, dass die Anwendung kann nicht die Datei aus dem Benutzer-PC lesen. Jede Idee, wie kann ich es?
Danke!
Greg
Lösung
Das aus Sicherheitsgründen erfolgt -. Ein Browser keinen Zugriff auf das Dateisystem des Benutzers
Es gibt keine Möglichkeit, dies zu umgehen, da alle anderen Technologien in einem Browser ausgeführt werden, Sandbox und beschränkt (wiederum aus Sicherheitsgründen).
Die nächstgelegene Sie erhalten können, ist eine <input type="file">
zu verwenden, die dem Benutzer ermöglicht, eine Datei zum Hochladen auswählen.
Andere Tipps
Der Weg des Upload-Datei im Internet Explorer 8 ist ein vollständiger Pfad. Sie können Dateinamen aus dem vollen Namen erhalten. Kombiniert Server-Pfad und Dateinamen vor dem Speichern der Datei