좋아, 내 웹 응용 프로그램 C에 있습니다 : \을 Inetpub \ wwwroot입니다 \ 웹 사이트내 웹 응용 프로그램에없는 파일에 어떻게 하이퍼 링크 할 수 있습니까?
내가 S에 링크 할 파일 :
내가 웹 애플리케이션에 대한 링크를 만들 수 someFolder \를 그 파일에 someFolder로 직접 연결됩니까?
좋아, 내 웹 응용 프로그램 C에 있습니다 : \을 Inetpub \ wwwroot입니다 \ 웹 사이트내 웹 응용 프로그램에없는 파일에 어떻게 하이퍼 링크 할 수 있습니까?
내가 S에 링크 할 파일 :
내가 웹 애플리케이션에 대한 링크를 만들 수 someFolder \를 그 파일에 someFolder로 직접 연결됩니까?
서버의 다른 드라이브에있는 경우 IIS에서 virtual directory을 만들어야합니다. 그런 다음 "/virtdirect/somefolder/
"
으로 링크해야합니다. 웹 서버를 통해 URL을 구체적으로 매핑해야합니다. 그렇지 않으면 URL을 추측 한 사용자가 모든 파일에 액세스 할 수 있으며 사용자가 원하는 것을 원하지는 않습니다 ...
이는 웹 서버의 구성에 따라 다릅니다. 아마도 그렇지 않습니다. 웹 서버가 하드 드라이브의 모든 파일 (예 : 암호 파일)에 액세스 할 수 없기 때문에 웹 서버의 구성 파일에서 액세스 할 수 있도록 구성된 파일에만 액세스하여 연결할 수 있습니다. 일반적으로 이들은 모두 하나의 디렉토리 아래에 보관됩니다. 물론 someFolder를 복사하여 웹 디렉토리 아래에 놓은 다음 액세스 할 수 있거나 안전하다고 확신하는 경우 웹 서버의 구성을 변경하여 해당 폴더에 대한 액세스를 허용 할 수 있습니다.
s : \ someFolder를 가리키는 다른 가상 디렉터리/응용 프로그램이 있습니까? 그렇다면 단순한 링크 일뿐입니다.
파일을 다시 스트리밍 하시겠습니까? 그렇다면 Response.TransmitFile 및 Response.WriteFile을 살펴보십시오.
그렇지 않으면 어쩌면 처리기 (.ashx)를 만들어 지정된 파일을 가져 와서 내용을 다시 스트리밍 할 수 있습니까?
내가 디렉토리 2) 로컬 사용자 영문/ASHX 처리기 느릅 나무로드 파일을 호출하여 클라이언트로 전송을 다운로드 할 수있는 두 가지 방법 1) 가상 경로 느릅 나무 점을이 있다고 생각합니다.
웹 서버 수준이 아닌 OS 수준에서 작동하는 솔루션은 심볼 링크를 만드는 것입니다.
Win2000 onwards에는 파일 링크가 supported on Vista이며 폴더 ("접합점")에 대한 링크가 지원됩니다.
이것은 좋은 제안이지만 보안은 문제가 될 수 있습니다. VirtDirs를 사용하면 로컬 파일 시스템을 혼란스럽게하지 않고도 웹 사용자가 폴더에 개입 할 수있는 방법을 많이 제어 할 수 있습니다. –
IIS에서 가상 디렉터리를 만들면 위의 모든 문제가 해결됩니다. 당신은 그걸 기반으로 보안 권한을 설정할 수 있으며, 속지 않고도 폴더에있는 파일에 액세스 할 수 있습니다. –
예, 정확하게 "해당 폴더에 대한 액세스를 허용하도록 웹 서버의 구성을 변경"한 것입니다. –