문제

ASP.NET의 두 개의 다른 웹 사이트에서 작업하고 있습니다. 첫 번째 프로젝트에서 나는 프로젝트 루트 아래의 특정 폴더에 일부 이미지를 업로드하고 데이터베이스에 파일 이름 만 저장하는데 이제 두 번째 프로젝트의 일부 페이지 에이 이미지를 표시하려고합니다. 데이터베이스와 이미지의 파일 이름을 알고 있습니다. 폴더 폴더는 절대적인 Pat이지만 이미지를 표시 할 수 없었습니다. Firebug를 볼 때도 이미지 SRC가 맞습니다. src="D:/MyFolder/image.jpg" 이미지가 올바른 디렉토리를 가리키지 않기 때문에 이미지가 표시되지 않습니다. 또한 Server.mappath를 사용한 다음 D 위치를 사용했지만 여전히 성공하지 못했습니다.

나는 누군가가 이전에 같은 상황에 직면했다고 확신하고 실제로 이것을 관리 할 힌트를 얻기를 바랐다. 미리 감사드립니다

도움이 되었습니까?

해결책

나는 내 솔루션을 찾았지만 이상하게도 잡지 못했습니다. 프로젝트에서 업로드 된 사진은 프로젝트의 URL을 사용하여 항상 액세스 할 수 있습니다. http://www.yourwebsite.com/images/photo.png 이제 두 번째 프로젝트에서는이 URL을 사용하여 이미지를 참조하고 데이터베이스에 저장 한 파일 이름을 연결할 수 있습니다. 나는 이것이 최상의 솔루션이라고 생각하며 다른 문제를 가져올 수 있다고 생각하는 코드 액세스 보안을 변경하지 않으면 서 있습니다. 어쨌든 감사합니다.

다른 팁

프로젝트에없는 이미지를 표시하려면 (다른 프로젝트 나 다른 드라이브에 존재한다는 것을 의미합니다) IIS에서 가상 디렉토리를 만듭니다.

  1. "run"으로 이동하여 입력하십시오 inetmgr
  2. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 가상 디렉토리를 추가하십시오
  3. 프로젝트에서 폴더처럼 작동하도록 별칭 이름과 경로를 제공하십시오.

기본적으로 응용 프로그램 경로 외부에서 파일을 제공 할 수 있다고 생각하지 않습니다. 코드 액세스 보안이라고합니다. 여기에서 읽을 수 있습니다.
http://msdn.microsoft.com/en-us/library/930b76w0.aspx

웹에서 신뢰 수준을 높게 변경 하여이 문제를 해결할 수 있습니다.
http://msdn.microsoft.com/en-us/library/tkscy493.aspx

외부에 액세스 할 수있는 사이트에 대해서는이 작업을 수행하지 않습니다. 실제로, 응용 프로그램을 호스팅하는 방법/위치에 따라이 옵션이 제한 될 수 있습니다.

동일한 프로젝트와 관련하여 존재하거나 절대 URL을 통해 다른 사이트에서 호스팅되는 파일에만 "링크"할 수 있습니다.

응용 프로그램/웹 사이트 (디스크 또는 데이터베이스에서) 외부에서 파일을 서비스하려면 파일을 가져오고 이진을 브라우저에 작성하고 MIME 유형을 설정하는 메커니즘을 작성해야합니다. httphandler.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top