create - streamwriter c# ejemplos
Escribir archivo al servidor web-ASP.NET (4)
Simplemente quiero escribir el contenido de un control TextBox en un archivo en la raíz del directorio del servidor web ... ¿cómo lo especifico?
Tenga en cuenta que estoy probando esto localmente ... sigue escribiendo el archivo en el directorio de mis archivos de programa / visual studio / Common / IDE en lugar de en el directorio de mi proyecto (que es donde supongo que la raíz es cuando el servidor web se activa) .
¿Mi problema tiene algo que ver con especificar la ubicación correcta en mi web.config? Intenté eso y todavía no voy ...
Muchas gracias...
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. }
Existen métodos como WriteAllText
en la clase File
para operaciones comunes en archivos.
Use el método MapPath
para obtener la ruta física para un archivo en su aplicación web.
File.WriteAllText(Server.MapPath("~/data.txt"), TextBox1.Text);
Tenga en cuenta que también deberá otorgar a la cuenta IUSR acceso de escritura para la carpeta una vez que la cargue en su servidor web.
Personalmente, recomiendo no permitir el acceso de escritura a la carpeta raíz a menos que tenga una buena razón para hacerlo. Y luego debes tener cuidado con el tipo de archivos que permites que se guarden para que no permitas inadvertidamente que alguien escriba sus propias páginas ASPX.
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
}
}
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 toma una ruta virtual y devuelve una absoluta. "~" se utiliza para resolver la raíz de la aplicación.