안녕하세요.
제 책 또는 강의에서 만든 ASP.NET Core 게시판 프로젝트가 데모로 실행중인 다음 링크를 살펴보시면,
https://www.dotnetnote.com/DotNetNote/Details/2
첨부파일을 클릭하면, BoardDown 액션 메서드를 실행하고,
미리보기 이미지는 ImageDown 액션 메서드에서 이미지를 읽어와서 보여줍니다.
즉, img src 속성에는 서버 측 파일 업로드 경로를 노출하면 안됩니다.
물론, 정적 파일이 업로드되는 공간을 직접 다음과 같이 지정해도 됩니다.
/files/TestImg.png 형태로
다만, 제 강의 소스에서는
파일 다운로드는 BoardDown 액션 메서드를 통해서 이미지 실행은 ImageDown 액션 메서드를 통해서 실행하도록 구성된 상태입니다.
다음 링크의 강의 소스 GitHub 리포지토리에서 BoardDown과 ImageDown 액션 메서드를 찾아서 분석해 보신 후 응용해 보시면 좋습니다.
DotNetNoteController.cs
FileDown 액션 메서드를 만들고
FileDown/파일명
FileDown/FileName=파일명
형태로 직접 업로드한 파일명을 주고 파일 또는 이미지를 다운로드하게해도 좋습니다.
단, DotNetNote 게시판 프로젝트에서는
파일명 대신에 글 번호에 해당하는 파일 또는 이미지를 다운로드하는 방식으로 구현을 해두었습니다.
참고해보세요.
On 2023-08-18 오후 8:20:00, '김민태' wrote:
안녕하세요. 오랜만에 인사드립니다. 해당 질문은 .NET 다루는 기술ㅡ 교재에서 다뤄지진 않지만 혹여 답변을 얻을 수 있을까 해서 글을 남겨봅니다.
닷넷코어 게시판 프로젝트에서 (이미지) 파일 업로드하고, 글 내용으로 img src 태그를 쓸 경우 정적파일 경로를 입력하고 첨부파일명을 붙여야 출력할 수 있습니다. 첨부파일을 업로드 한 게시글 내용에는 경로를 입력하지 않고 FileName만 입력해도 되도록 개선하고 싶습니다.
제 생각에는 파일 업로드 경로를 URL에 맞추기...외에ㅡ Details 뷰 파일이 참고하는 상대경로를 따로 지정할 수 있는 방법이 있는지 궁금합니다.