Project Root 외부의 이미지를 표시하려고하는 ImageUrl
-
18-09-2019 - |
문제
ASP.NET의 두 개의 다른 웹 사이트에서 작업하고 있습니다. 첫 번째 프로젝트에서 나는 프로젝트 루트 아래의 특정 폴더에 일부 이미지를 업로드하고 데이터베이스에 파일 이름 만 저장하는데 이제 두 번째 프로젝트의 일부 페이지 에이 이미지를 표시하려고합니다. 데이터베이스와 이미지의 파일 이름을 알고 있습니다. 폴더 폴더는 절대적인 Pat이지만 이미지를 표시 할 수 없었습니다. Firebug를 볼 때도 이미지 SRC가 맞습니다. src="D:/MyFolder/image.jpg"
이미지가 올바른 디렉토리를 가리키지 않기 때문에 이미지가 표시되지 않습니다. 또한 Server.mappath를 사용한 다음 D 위치를 사용했지만 여전히 성공하지 못했습니다.
나는 누군가가 이전에 같은 상황에 직면했다고 확신하고 실제로 이것을 관리 할 힌트를 얻기를 바랐다. 미리 감사드립니다
해결책
나는 내 솔루션을 찾았지만 이상하게도 잡지 못했습니다. 프로젝트에서 업로드 된 사진은 프로젝트의 URL을 사용하여 항상 액세스 할 수 있습니다. http://www.yourwebsite.com/images/photo.png
이제 두 번째 프로젝트에서는이 URL을 사용하여 이미지를 참조하고 데이터베이스에 저장 한 파일 이름을 연결할 수 있습니다. 나는 이것이 최상의 솔루션이라고 생각하며 다른 문제를 가져올 수 있다고 생각하는 코드 액세스 보안을 변경하지 않으면 서 있습니다. 어쨌든 감사합니다.
다른 팁
프로젝트에없는 이미지를 표시하려면 (다른 프로젝트 나 다른 드라이브에 존재한다는 것을 의미합니다) IIS에서 가상 디렉토리를 만듭니다.
- "run"으로 이동하여 입력하십시오
inetmgr
- 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 가상 디렉토리를 추가하십시오
- 프로젝트에서 폴더처럼 작동하도록 별칭 이름과 경로를 제공하십시오.
기본적으로 응용 프로그램 경로 외부에서 파일을 제공 할 수 있다고 생각하지 않습니다. 코드 액세스 보안이라고합니다. 여기에서 읽을 수 있습니다.
http://msdn.microsoft.com/en-us/library/930b76w0.aspx
웹에서 신뢰 수준을 높게 변경 하여이 문제를 해결할 수 있습니다.
http://msdn.microsoft.com/en-us/library/tkscy493.aspx
외부에 액세스 할 수있는 사이트에 대해서는이 작업을 수행하지 않습니다. 실제로, 응용 프로그램을 호스팅하는 방법/위치에 따라이 옵션이 제한 될 수 있습니다.
동일한 프로젝트와 관련하여 존재하거나 절대 URL을 통해 다른 사이트에서 호스팅되는 파일에만 "링크"할 수 있습니다.
응용 프로그램/웹 사이트 (디스크 또는 데이터베이스에서) 외부에서 파일을 서비스하려면 파일을 가져오고 이진을 브라우저에 작성하고 MIME 유형을 설정하는 메커니즘을 작성해야합니다. httphandler.