HTTPHandler의 HTTP 응답을 통해 사용자 지정 형식의 일반 텍스트 파일을 다운로드하려고합니다. 파일은 숫자, 문자 및 "|" 구분 기호로 사용합니다. 파일이 런타임에 생성 중이며 저장되지 않습니다.HTTP 처리기의 응답에서 파일을 다운로드하지 못했습니다.
손잡이는 자바 스크립트 함수 데이터를 반환하는 데 사용되는 상기 파일을 다운로드 할 때 이에 응답하여 폐쇄 될 수 없다.
현재이 파일을 다운로드하는 데 사용되는 코드입니다.
MemoryStream ms = new MemoryStream();
TextWriter tw = new StreamWriter(ms);
tw.Write(file1);
byte[] bytes = ms.ToArray();
ms.Close();
context.Response.Clear();
context.Response.ContentType = "text/plain";
context.Response.AddHeader("content-disposition", "attachment; filename=file.15");
context.Response.AppendHeader("Content-Length", bytes.Length.ToString());
context.Response.BinaryWrite(bytes);
context.Response.Flush();
context.Response.Close();
context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = "true", message = "File1 Done", File1 = query["File1"], File2 = query["File2"] }));
그러나이 코드를 실행하면 오류 (서버 쪽과 클라이언트 쪽 모두)가없고 파일이 다운로드되지 않습니다.
왜 폐쇄하고 세척 후에는 응답을 작성하려면 어떻게해야합니까? –
.aspx 페이지의 자바 스크립트 코드로 다시 데이터를 보내려고합니다. 내가 핸들러와 Requests/Responses가 작동하는 방식이 아직 비교적 새롭기 때문에 나는 파일을 출력하거나 닫고 응답을 끝내는 모든 예제처럼 이것을하는 방법을 잘 모르고있다. 따라서이 처리기를 사용하여 두 작업 (파일 다운로드 및 데이터 반환)을 수행하는 데 어려움을 겪고 있습니다. – user3148942
당신은 단순히 그렇게 할 수 없습니다. –