En-têtes en double reçus du serveur
La réponse du serveur contenait des en-têtes en double. Ce problème est généralement le résultat d'un site Web ou d'un proxy mal configuré. Seul le site Web ou l'administrateur proxy peut résoudre ce problème.
Erreur 349 (net :: ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION): plusieurs en-têtes Content-Disposition distincts reçus. Ceci est interdit pour se protéger contre les attaques de fractionnement de réponse HTTP.
J'ai trouvé cette erreur lors de l'exportation au format pdf dans Chrome.
Response.Buffer = false;
Response.ClearHeaders();
string ext = objProp.PACKAGEFILENAME.Substring(objProp.PACKAGEFILENAME.LastIndexOf("."));
string ext1 = ext.Substring(1);
Response.ContentType = ext1;
Response.AddHeader("Content-Disposition", "target;_blank,attachment; filename=" + objProp.PACKAGEFILENAME);
const int ChunkSize = 1024;
byte[] binary = objProp.PACKAGEDOCUMENT;
System.IO.MemoryStream ms = new System.IO.MemoryStream(binary);
int SizeToWrite = ChunkSize;
for (int i = 0; i < binary.GetUpperBound(0) - 1; i = i + ChunkSize)
{
if (!Response.IsClientConnected) return;
if (i + ChunkSize >= binary.Length) SizeToWrite = binary.Length - i;
byte[] chunk = new byte[SizeToWrite];
ms.Read(chunk, 0, SizeToWrite);
Response.BinaryWrite(chunk);
Response.Flush();
}
Response.Close();
Comment régler ceci?
Response.AddHeader("content-disposition", "attachment; filename=\"" + FileNameWithCommas + "\"");