728x90
반응형
질문 : ASP.NET MVC 컨트롤러가 이미지를 반환 할 수 있습니까?
단순히 이미지 자산을 반환하는 컨트롤러를 만들 수 있습니까?
다음과 같은 URL이 요청 될 때마다 컨트롤러를 통해이 논리를 라우팅하고 싶습니다.
www.mywebsite.com/resource/image/topbanner
topbanner.png
를 조회하고 해당 이미지를 클라이언트로 직접 보냅니다.
보기를 만들어야하는 경우의 예를 보았습니다.보기를 사용하고 싶지 않습니다. 컨트롤러만으로 모든 것을하고 싶습니다.
이것이 가능한가?
답변
기본 컨트롤러 File 메서드를 사용합니다.
public ActionResult Image(string id)
{
var dir = Server.MapPath("/Images");
var path = Path.Combine(dir, id + ".jpg"); //validate the path for security or use other means to generate the path.
return base.File(path, "image/jpeg");
}
참고로 이것은 상당히 효율적인 것 같습니다. http://localhost/MyController/Image/MyImage
)와 직접 URL ( http://localhost/Images/MyImage.jpg
)을 통해 이미지를 요청한 테스트를 수행했으며 결과는 다음과 같습니다.
- MVC : 사진 당 7.6 밀리 초
- 직접 : 사진 당 6.7 밀리 초
참고 : 이것은 요청의 평균 시간입니다. 평균은 로컬 시스템에서 수천 건의 요청을 수행하여 계산되었으므로 총계에는 네트워크 대기 시간이나 대역폭 문제가 포함되지 않아야합니다.
출처 : https://stackoverflow.com/questions/186062/can-an-asp-net-mvc-controller-return-an-image
728x90
반응형
'개발관련 > other' 카테고리의 다른 글
stringstream 변수를 지우는 방법 (0) | 2021.06.11 |
---|---|
여러 PDF 파일을 하나의 PDF로 병합 / 변환 (0) | 2021.06.10 |
Node.js 프로그램에 명령 줄 인수를 전달하는 방법 (0) | 2021.06.08 |
Twitter 부트 스트랩 양식 파일 요소 업로드 버튼 (0) | 2021.06.07 |
ViewPager에서 조각이 표시되는시기를 확인하는 방법 (0) | 2021.06.05 |