ASP.net C # de varios documentos sobre objetos Una respuesta
Pregunta
Tengo este código
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. Preferiría no tener que hacer que el usuario haga clic en los botones 3 de conseguir que los archivos 3 txt. ¿Hay una manera de enviar todos los 3 en un Reponse?
Solución
No, archivos adjuntos de varias partes para su descarga (como como en el correo electrónico) no son compatibles por razones de seguridad. Se llama un "drive-by download".
Tenga en cuenta que Gmail se encarga de esta comprimiendo dinámicamente seguridad de los archivos. Tu también deberías. http://forums.asp.net/t/1240811.aspx
Otros consejos
Esto se puede hacer de acuerdo con el artículo "Descarga varios archivos en una petición HTTP" en la motobit.com .
Sin embargo, no es como HTTP se diseñó y siguiendo esos pasos se puede romper en cualquier momento dependiendo de la configuración del cliente y el servidor.