위키와 같은 ASP.NET MVC 애플리케이션이 있습니다. 이 응용 프로그램은 많은 페이지를 가지고 있으며 페이지는 그림을 사용합니다. 페이지 내용은 데이터베이스에 저장되지만 이미지는 파일 시스템에 저장됩니다. 파일 시스템에서 데이터베이스로 이미지를 이동하기로 결정했습니다. Redently 이미지를 데이터베이스로 이동했습니다 (SQL Server의 파일 테이블 사용). 모두 괜찮아요.하지만 지금은 문제에 직면했습니다.ASP. NET MVC 5 이미지 라우팅
<img src='/Attachments/myImage.png' />
을하지만 지금은 DB에서 이미지의 데이터를 얻을 : 이미지 폴더에 저장 될 때 이전, 그래서 그들을 사용 변경 IMG-태그의
public class ImagesController : Controller
{
public FileResult GetFile(string filename)
{
byte[] data = .... // here is retrieving data from db;
string mimeType = ... // here is detecting mime type
return File(data, mimeType);
}
}
및 SRC 속성 :
을<img src='/Images/GetFile?filename=myImage.png' />
모든 페이지를 수정하고 이미지 링크를 변경해야하기 때문에 문제가됩니다. 모든 페이지 내용을 편집하지 않고 /Attachemts/myImage.png
에서 Images/GetFile?filename=myImage.png
으로 이미지 요청을 리디렉션 할 수 있습니까? 나는 foolowing 경로를 사용하려고 시도했다 :
routes.MapRoute("old images", "Attachments/{filename}",
new
{
controller = "Images",
action = "GetFile"
});
나는 실패했다. 미리 감사드립니다.
첨부 파일 폴더가 라우팅에서 제외되어 있지 않은지 확인하십시오. 다음과 같은 검색 및 제거 : routes.IgnoreRoute ("첨부 파일/{* pathInfo}") – Tacud
@Tacud이 폴더는 제외되지 않습니다. – Pupkin