No debería ser tan difícil averiguar cómo hacerlo. Básicamente, estoy tratando de tomar una cadena y dejar que el cliente la guarde cuando hacen clic en un botón. Debería aparecer con un cuadro de diálogo Guardar/Abrir. Sin campanas ni silbatos ni nada. No es ciencia espacial, (o al menos eso pensé).Pedirle al usuario que guarde/abra el archivo en ASP.NET C#
Parece que hay un montón de formas diferentes (StreamWriter, HttpResponse, etc.), pero ninguno de los ejemplos que he podido encontrar funcionan correctamente o explican lo que está sucediendo. Gracias por adelantado.
Un ejemplo uno de los muchos bloques de código que he encontrado ...
(Esto es sólo un ejemplo, no dude en no basar su respuesta en torno a este.)
String FileName = "FileName.txt";
String FilePath = "C:/...."; //Replace this
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.TransmitFile(FilePath);
response.Flush();
response.End();
Línea 2 dice que reemplazar esa cadena. ¿Cómo? Este código fue anunciado como un diálogo. No debería tener que establecer un camino en el código, ¿verdad?
EDIT: Resultado final (Editado nuevo, Borrar tiene que venir antes de Fin();)
string FilePath = Server.MapPath("~/Temp/");
string FileName = "test.txt";
// Creates the file on server
File.WriteAllText(FilePath + FileName, "hello");
// Prompts user to save file
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.TransmitFile(FilePath + FileName);
response.Flush();
// Deletes the file on server
File.Delete(FilePath + FileName);
response.End();
Este ejemplo muestra cómo se debe transmitir un archivo de nuevo al cliente. ¿Está buscando una forma de invocar un diálogo de guardar/abrir en el cliente para que pueda subir un archivo a su servidor? –
"Básicamente, estoy tratando de tomar una cadena y dejar que el cliente la guarde cuando hacen clic en un botón". Algo simple como ... File.WriteAllText ("C: \\ text.txt", "hola"); Excepto con un diálogo. Quiero que el usuario lo descargue a cualquier ubicación que especifiquen. – Ber53rker