Frage

ich einfach den Inhalt eines TextBox-Steuerelement in eine Datei im Stammverzeichnis des Web-Server-Verzeichnisses schreiben will ... wie ich sie angeben?

Beachten Sie, Ich teste diese lokal ... es hält die Datei auf meine Programm-Dateien zu schreiben \ Visual Studio \ Common \ IDE-Verzeichnis anstatt mein Projektverzeichnis (das ist, wo ich root nehmen ist, wenn der Web-Server abfeuert).

Hat mein Problem etwas mit Angabe der richtigen Stelle in meinem web.config zu tun? Ich habe versucht, dass und noch nicht gehen ...

Dank viel ...

protected void TestSubmit_ServerClick(object sender, EventArgs e)
    {
        StreamWriter _testData = new StreamWriter("data.txt", true);
        _testData.WriteLine(TextBox1.Text); // Write the file.
        _testData.Close(); // Close the instance of StreamWriter.
        _testData.Dispose(); // Dispose from memory.       
    }
War es hilfreich?

Lösung

protected void TestSubmit_ServerClick(object sender, EventArgs e)
{
  using (StreamWriter _testData = new StreamWriter(Server.MapPath("~/data.txt"), true))
 {
  _testData.WriteLine(TextBox1.Text); // Write the file.
 }         
}

Server.MapPath nimmt einen virtuellen Pfad und gibt eine absolut. „~“ Wird verwendet, um die Anwendung Wurzel zu lösen.

Andere Tipps

Es gibt Methoden, wie WriteAllText in der File Klasse für gemeinsame Operationen auf Dateien.

die MapPath Methode, um den physischen Pfad für eine Datei in Ihrer Web-Anwendung zu erhalten.

File.WriteAllText(Server.MapPath("~/data.txt"), TextBox1.Text);
protected void TestSubmit_ServerClick(object sender, EventArgs e)
{
    using (StreamWriter w = new StreamWriter(Server.MapPath("~/data.txt"), true))
    {
        w.WriteLine(TextBox1.Text); // Write the text
    }
}

Beachten Sie müssen Sie auch den IUSR-Konto Schreibzugriff für den Ordner geben, wenn Sie auf Ihren Webserver hochladen.

Ich persönlich empfehle keinen Schreibzugriff auf den Stammordner erlauben es sei denn, Sie haben einen guten Grund, so zu tun. Und dann müssen Sie vorsichtig sein, welche Art von Dateien, die Sie erlauben, um gerettet zu werden, so dass Sie nicht aus Versehen jemand erlauben, ihre eigenen ASPX-Seiten zu schreiben.

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