c# - data - ¿Cambiar el nombre del archivo enviado al cliente?
webrequest post c# json (4)
Agregue un encabezado "Content-Disposition" con el valor "attachment; filename = filename.csv".
Tengo una página web que extrae información de una base de datos, la convierte a formato .csv y escribe el archivo en HTTPResponse.
string csv = GetCSV();
Response.Clear();
Response.ContentType = "text/csv";
Response.Write(csv);
Esto funciona bien, y el archivo se envía al cliente sin problemas. Sin embargo, cuando el archivo se envía al cliente, se utiliza el nombre de la página actual, en lugar de un nombre más amigable (como "data.csv").
Mi pregunta es, ¿cómo puedo cambiar el nombre del archivo que se escribe en la secuencia de salida sin escribir el archivo en el disco y redirigir al cliente a la URL del archivo?
EDITAR: Gracias por las respuestas chicos. Recibí 4 de la misma respuesta, así que elegí la primera como respuesta.
Creo que esto funcionará para ti.
Response.AddHeader("content-disposition", "attachment; filename=NewFileName.csv");
Response.AddHeader("content-disposition", "attachment; filename=File.doc")
Solo necesita configurar el encabezado Content-Disposition
Content-Disposition: attachment; filename=data.csv
Este artículo de soporte de Microsoft tiene buena información
Cómo levantar un cuadro de diálogo de "Descarga de archivo" para un tipo MIME conocido