Frage

Ich verwende diesen code für meine LinkButton-Datei herunterzuladen, wenn Sie darauf klicken.Vor kurzem habe ich dieses problem, ich brauche einen virtuellen Pfad .

Ich möchte umleiten, um C:\inetpub\wwwroot

 string filepath = Server.MapPath("...");           
 FileInfo myfile = new FileInfo(filepath);

Also ich weiß nicht, was Sie in Server.MapPath (), weil wenn ich / es wird gehen, um die Basis für meine Ordner, in Dokumenten und nicht In

War es hilfreich?

Lösung

Wenn Sie Dateien aus einem anderen Teil Ihres Systems bedienen müssen, dann ist der beste Weg, dies zu tun Erstellen Sie ein virtuelles Verzeichnis.

Klicken Sie in der rechten Hand auf Ihre Website auf "Virtuelle Verzeichnis hinzufügen". Geben Sie ihm einen Namen und weisen Sie ihn an, wo Sie es brauchen, um es zu sein. ZB neue virtuelle Verzeichnis namens "Dateien", die auf "C: inetpub wwwroot files" zeigen.

Dann können Sie auf Ihrer Website auf diese Dateien verweisen, indem Sie verwenden

/files/filename.txt <- die /Dateien/ Links zu Ihrem virtuellen Verzeichnis.

Sie müssen dann natürlich sicherstellen, dass Ihre Berechtigungen korrekt eingestellt sind, um diese Dateien zu lesen, aber ich überlasse Ihnen.

Andere Tipps

Sie sehen derzeit einen Ordner unter Ihrem My Documents Da Sie in Ihrem Projektordner ausgeführt/debuggen, verwenden Sie wahrscheinlich den Entwicklungsserver oder den Iisexpress.

Sobald Sie Ihre Site in einem Ordner darunter bereitstellen C:\Inetpub, das MapPath Wird diesen Ordner zurückgeben.

Als Sicherheitsmaßnahme können Sie jedoch keinen Ordner (im Baum) als Root -Ordner aus Ihrer Anwendung höher zurückgeben.

Wenn Sie das benötigen, müssen Sie Ordner selbst aus dem zurückgegebenen Pfad entfernen. Sie können verwenden System.IO.Path dafür.

Sie dürfen nicht von Ihrer Wurzel nach oben gehen. Das Root bedeutet den Stammordner der Anwendung. Wenn Sie dies versuchen, ist es eine Sicherheitsverletzung.

Wenn Sie also zur Stammin der Anwendung gehen möchten, können Sie verwenden Server.MapPath("~");

Server.MapPath("~"); 

geben Sie die aktuelle web application root.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top