Header duplikat diterima dari server
Tanggapan dari server berisi header duplikat. Masalah ini biasanya disebabkan oleh situs web atau proxy yang salah dikonfigurasi. Hanya situs web atau administrator proxy yang dapat memperbaiki masalah ini.
Kesalahan 349 (net :: ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION): Beberapa header Disposisi Konten berbeda diterima. Ini tidak diizinkan untuk melindungi dari serangan yang memecah tanggapan HTTP.
Saya menemukan kesalahan ini saat mengekspor ke pdf di 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();
Bagaimana cara mengatasinya?
google-chrome
pdf
http-headers
Purvesh Desai
sumber
sumber
Response.AddHeader("content-disposition", "attachment; filename=\"" + FileNameWithCommas + "\"");
Jawaban:
Yang ini agak tua tetapi peringkatnya tinggi di google jadi saya pikir saya akan memberikan jawaban yang saya temukan dari Chrome, tampilan pdf, header duplikat yang diterima dari server
Pada dasarnya masalah saya juga adalah bahwa nama file mengandung koma. Lakukan penggantian koma untuk menghapusnya dan Anda akan baik-baik saja. Fungsi saya untuk membuat nama file yang valid ada di bawah ini.
sumber
.Replace(";", "").Replace(",", "")
bila sudah diganti dengan RegEx? Tambahkan;,
ke pola RegEx Anda:string invalidReStr = string.Format(@"[{0};,]+", invalidChars); string replace = Regex.Replace(name, invalidReStr, "_");
Server HARUS memberi tanda kutip ganda di sekitar nama file, seperti yang disebutkan oleh @cusman dan @Touko dalam balasan mereka.
Sebagai contoh:
sumber
Bagi saya masalahnya adalah tentang koma bukan di nama file tetapi seperti di bawah ini: -
Response.ok (streamingOutput, MediaType.APPLICATION_OCTET_STREAM_TYPE) .header ("content-disposition", " attachment, filename = your_file_name"). Build ();
Saya tidak sengaja meletakkan koma setelah keterikatan. Mengatasi masalah ini dengan mengganti koma dengan titik koma.
sumber
Letakkan saja sepasang tanda kutip ganda di sekitar nama file Anda seperti ini:
this.Response.AddHeader ("Content-disposition", $ "attachment; filename = \" {outputFileName} \ "");
sumber
Tanda kutip ganda di sekitar nama file di tajuk adalah standar per dokumen web MDN. Menghilangkan tanda kutip menciptakan banyak peluang untuk masalah yang timbul dari karakter dalam nama file.
sumber