내 코드의 조각이다. 데이터 테이블에서 데이터를 읽고 응답에 쓰고 다운로드 용 파일을 가져옵니다. 그러나 거대한 파일을 다운로드하려고 시도하는 동안 오류가 발생합니다.()는 여기에
프로그램 실행 중 메모리가 부족합니다. 들었어요 response.transmit
. 이 문제를 해결할 수는 있지만 어떻게 할 수 있습니까?
내 코드의 조각이다. 데이터 테이블에서 데이터를 읽고 응답에 쓰고 다운로드 용 파일을 가져옵니다. 그러나 거대한 파일을 다운로드하려고 시도하는 동안 오류가 발생합니다.()는 여기에
프로그램 실행 중 메모리가 부족합니다. 들었어요 response.transmit
. 이 문제를 해결할 수는 있지만 어떻게 할 수 있습니까?
TransmitFile 지정된 파일을 HTTP 응답 출력 스트림에 메모리에 버퍼링하지 않고 직접 씁니다. 이 같은
:
"거대한"얼마나 큰 context.Response.Clear();
context.Response.ContentType = "application/octet-stream";
context.Response.AddHeader("content-disposition", "attachment; filename=ym.jpg");
context.Response.TransmitFile(context.Server.MapPath(@"~/ym.jpg"));
context.Response.End();
? 그리고 어디에서이 오류가 발생합니까? 웹 서버에서? 클라이언트 브라우저 에서요? 클라이언트 응용 프로그램에서? – RQDQ
언제 Response.Transmit() 메서드를 호출합니까? 코드 조각에 중요한 정보가 누락 된 것 같습니다. – Xharze
클라이언트 broswer와 파일 크기가 @RQDQ 인 경우 약 180MB입니다. – Jay