HTTP 응답에서 동적으로 생성 된 이미지의 콘텐츠 길이를 쉽게 설정하는 방법을 찾고 있습니다.ASP.NET에서 동적으로 생성 된 이미지의 콘텐츠 길이를 설정하십시오.
Response.AddHeader("Content-Length", Response.OutputStream.Length())
와 컨텐츠 길이를 설정하는 것을 시도
는Response.ContentType = "image/jpeg";
Response.Clear();
Response.BufferOutput = true;
...
Bitmap bmp = new Bitmap(width, height, PixelFormat.Format24bppRgb);
...
bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
Response.Flush();
예기치 않은 결과를 제공합니다.
또한 파일을 다른 스트림 (예 : MemoryStream)에 복사하고 다시 출력 스트림에 복사하지 않습니다.
아이디어가 있으십니까?
감사합니다.
HTTP 서버 클래스가 청크 인코딩을 지원합니까? 그렇다면 사용하고 크기를 설정할 필요가 없으며 연결 유지를 허용합니다. –
@ Eden, 이미지를 mem-stream에 저장하고 콘텐츠 길이를 측정해야합니다. OTOH, Reponse.WriteFile (또는 TransmitFile)을 사용하여 디스크에서 이미지를 누른 다음 이미지를 제공하십시오. 이 방법은 동일한 이미지를 여러 번 (본질적으로 디스크에 캐싱) 여러 사용자에게 제공해야하는 경우에만 의미가 있습니다. – VinayC
@DavidSchwartz - 설명서에서 응답 헤더에이 메시지가 표시되지 않지만 IIS 7.5에서 청크 인코딩을 지원하는 것으로 보입니다. 나는이 문제를 조사해야 할 것이다. 감사! – Eden