IIS 7, здаецца, выдаленне відавочна зададзенага тыпу кантэнту. Як я магу спыніць гэта?

У мяне ёсць # старонка C, якая генеравальны файл PDF і якая вяртаецца яго карыстальніка. Я відавочна усталёўваючы загаловак Content-Type у «дадатак/PDF» і тып MIME зарэгістраваны ў IIS, але здаецца IIS будзе отгонкой Content-Type.

Файл вяртаецца правільна, і калі я выбіраю, каб захаваць яго на дыск я магу адкрыць гэта проста выдатна. Калі я запускаю старонку з сервера развіцця ASP.NET загаловак Content-Type праступае проста выдатна.

Код ...

byte[] pdf = //magic!
string filename = "Some.pdf";

Response.Clear();
Response.ClearHeaders();
//This way didn't work either...
//Response.ContentType = "application/pdf";
Response.AddHeader("Content-Type", "application/pdf");
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename + ";size=" + pdf.Length.ToString());
Response.Flush();
Response.BinaryWrite(pdf);
Response.Flush();
Response.End();
4
@JamesJohnson - Не, гэта проста скрыпт, які працуе без якога-небудзь кантэксту.
дададзена аўтар MyItchyChin, крыніца
Вы робіце гэта з дапамогай AJAX праз UpdatePanel або што-то?
дададзена аўтар James Johnson, крыніца

1 адказы

У мяне ёсць нешта вельмі падобныя ў цяперашні час і працуе (гэта дазваляе карыстальніку загрузіць файл TXT згенераваны ў кодзе ззаду сябе).

Той жа код, як у вас у прынцыпе, але ў мяне няма Response.Flush() у любым месцы. Вы можаце паспрабаваць каментаванне як .Flush эс і паглядзець, што адбываецца.

edited this is my code (successfully lets the user download a TXT file

string filename = "myfile.txt"; //made up filename
Response.AddHeader("Content-disposition", "attachment; filename=" + filename);
Response.ContentType = "application/octet-stream";

byte[] data = new byte[Encoding.UTF8.GetByteCount(_r)]; //_r is a string containing my txt
data = Encoding.UTF8.GetBytes(_r);
Response.ContentEncoding = Encoding.UTF8;//handling special chars
Response.BinaryWrite(data); 
Response.End();
1
дададзена
Выдаленне выклікаў .Flush працаваў. Дзякуючы.
дададзена аўтар MyItchyChin, крыніца