2009-07-03 12 views
5

tengo este códigoASP.net C# de varios documentos sobre objetos Una respuesta

private void writeReport(IReport report, string reportName) 
{ 
    string reportString = report.makeReport(); 
    ASCIIEncoding encoding = new ASCIIEncoding(); 
    byte[] encodedReport = encoding.GetBytes(reportString); 
    Response.ContentType = "text/plain"; 
    Response.AddHeader("Content-Disposition", "attachment;filename="+ reportName +".txt"); 
    Response.OutputStream.Write(encodedReport, 0, encodedReport.Length); 
    Response.End(); 
} 

pero tengo 3 documentos que tengo que enviar al cliente. Prefiero no tener que hacer que el usuario haga clic en 3 botones para obtener los 3 archivos de texto. ¿Hay alguna manera de enviar la respuesta de 3 en uno?

Respuesta

6

No, los archivos adjuntos de varias partes para descargar (como en el correo electrónico) no son compatibles por razones de seguridad. Se llama "descarga por conducción".

Tenga en cuenta que Gmail maneja esto al comprimir de forma dinámica los archivos. Tu también deberías. http://forums.asp.net/t/1240811.aspx

2

Esto se puede hacer de acuerdo con el artículo "Descargar varios archivos en una solicitud http" en motobit.com.

Sin embargo, no es cómo se diseñó HTTP y seguir estos pasos puede romperse en cualquier momento dependiendo de la configuración del cliente y del servidor.

Cuestiones relacionadas