Question

Je veux simplement écrire le contenu d'un contrôle TextBox à un fichier à la racine du répertoire du serveur web ... comment puis-je le précise?

Gardez à l'esprit, je teste ce local ... il continue à écrire le fichier à mes program files \ Visual Studio \ répertoire commun \ IDE plutôt que mon répertoire de projet (qui est l'endroit où je suppose que la racine est lorsque le serveur Web incendies off).

Mon problème a quelque chose à voir avec la spécification au bon endroit dans mon web.config? J'ai essayé et toujours pas aller ...

Merci beaucoup ...

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.       
    }
Était-ce utile?

La solution

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 prend un chemin virtuel et renvoie absolue. « ~ » Est utilisé pour résoudre à la racine de l'application.

Autres conseils

Il existe des méthodes comme WriteAllText dans la classe File pour les opérations courantes sur les fichiers.

Utilisez la méthode MapPath pour obtenir le chemin d'accès physique d'un fichier dans votre application Web.

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
    }
}

Gardez à l'esprit que vous devrez également donner l'accès en écriture IUSR pour le dossier une fois que vous téléchargez sur votre serveur Web.

Personnellement, je recommande de ne pas autoriser l'accès en écriture au dossier racine, sauf si vous avez une bonne raison de le faire. Et alors vous devez faire attention à ce genre de fichiers vous permettent d'être sauvés si vous ne permettez pas par inadvertance quelqu'un d'écrire leurs propres pages ASPX.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top