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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top