웹 서버 외부의 공유 폴더에 있고 http 프로토콜을 통해 액세스 할 수없는 많은 .jpg 파일을 사용하는 asp.net mvc 웹 응용 프로그램을 작성하고 있습니다.
내부에 이미지 경로를 배치하려면 어떻게합니까? img 태그가 있습니까?공유 폴더의 ASP.NET MVC 및 링크 된 사진
답변
웹 서버가 해당 공유에 대한 일반 네트워크 액세스 권한을 갖고 이미지 파일을 읽을 수있는 경우 fn
이라는 문자열 매개 변수 하나를 사용하는 기본 동작이 Index
인 새로운 MVC 컨트롤러 Image
을 만들 수 있습니다. 조치로 매개 변수에서 새 FileResult
을 작성합니다. 그런 다음 <img>
태그를 생성 할 때 URL을 /image/?fn=\\share\image.png
과 같이 설정하십시오. (물론 적절한 경로를 추가하는 것을 잊지 마십시오.)
웹 서버가 해당 공유에 대한 액세스 권한이 없지만 페이지 사용자가 액세스 할 수있는 경우 <img>
태그를 file://
URL로 설정해보십시오. 이미지. 그러나 이것은 사용자의 OS 및 브라우저 구성에 따라 취약하거나 작동하지 않을 수도 있습니다.
업데이트 : @ blowdart가 그의 대답에서 언급 한 보안 관련 내용을 읽으십시오.
이미지 경로 안에 이미지 경로를 스크립트의 매개 변수로 넣지 마십시오. 이를 직접 객체 참조라고하며 나쁜 것입니다. /image/?resource=\server\path\img.jpg로 제공되는 스크립트/페이지/컨트롤러의 순진한 구현을 고려하십시오.
누군가가/image/resource /? resource = c : \ windows \ system32 \ config \ SAM을로드하면 어떻게됩니까? 암호 데이터베이스가 전송됩니다.
당신은 이상적으로
string filename = Path.GetFileName(userInputtedFilename);
FileInfo file = new FileInfo(Server.Path.Combine("\\Server\share\", filename)));
같은 것을 수행하여 어떠한 경로 정보를 제거, 그 디렉토리에서 모든 이미지를 제공하고 단지 파일 이름을 수락하거나 원하는 모든 정규화 된 경로를 사용하지 않으려는
적어도 안전합니다. 물론 사용자가 적절하게 이름을 지정하면 모든 이미지를 탐색 할 수 있습니다. 보다 안전하지만 간접적 인 객체 참조, 즉 실제 파일 이름에 GUID와 같은 것을 매핑하는 맵핑 테이블을 가지고 있으며이를 서빙 스크립트에 대한 매개 변수로 사용합니다.
는 보안 문제에, 컨트롤러에서public FileContentResult GetFile(Guid indirectReference)
{
byte[] fileContents = // Resolve the file and read it from the indirect reference
mimeType = // Suitable MIME type
return File(fileContent, mimeType, fileName);
}
- 1. actionscript를 사용하여 링크 공유 및 페이스 북에서 사진 업로드
- 2. asp.net 사진 주문 사이트로 링크
- 3. Qt 및 공유 폴더의 파일
- 4. 내부 및 외부 ASP.NET MVC 사이트 공유
- 5. asp.net mvc 및 정식 링크 : 버그?
- 6. 공유 호스팅 환경의 ASP.Net MVC
- 7. ASP.NET MVC 2 코드 공유
- 8. ASP.NET MVC 응용 프로그램 공유
- 9. asp.net MVC 공유 호스팅에서 db4o
- 10. 공유 서버의 사진 및 비디오 호스팅?
- 11. ASP.NET MVC 액션 클래스 링크
- 12. meterial asp.net mvc 1 및 asp.net mvc 2 및 asp.net mvc 3
- 13. 공유 폴더의 schema.xml에보기를 추가하는 방법
- 14. 라우팅 asp.net mvc 프로젝트에서 레거시 asp.net 링크
- 15. asp.net mvc 및 유니 코드 경로 및 링크
- 16. JSF, 링크 관련 사진 변경
- 17. ASP.Net MVC 3의 공유 오류보기, 그게 뭐야?
- 18. asp.net mvc 프로젝트에서 aspx 페이지에 링크
- 19. MSChart 및 ASP.NET MVC 부분보기
- 20. 경로에 대한 링크 가져 오기 - Asp.net MVC
- 21. ASP.NET MVC + jqGrid 내장 된 링크 모범 사례
- 22. ASP.NET MVC 컨트롤러 간의 코드 공유
- 23. 프로젝트간에 ASP.NET MVC 부분 뷰 공유
- 24. asp.net mvc 및 dupl
- 25. ASP.NET MVC : 기본 동작 링크와 동작 링크
- 26. asp.net MVC 중복 된 매개 변수
- 27. ASP.NET MVC 3 - 여러 도메인 처리 및 단일 코드베이스 공유
- 28. 세계화 및 문장으로 된 링크
- 29. Asp.NET MVC 및 보안
- 30. ASP.NET MVC 라우팅 및 구조
좋은 노트를 FileContentResult을 돌려 파일을 제공합니다. –