2012-04-05 2 views
0

VHD 드라이브의 서버 경로를 가져 오려고합니다. 나는 하늘빛 웹 응용 프로그램에서 일하고 있습니다. 일부 파일을 업로드하여 Test.VHD 드라이브에 저장했습니다 (말하십시오). 이것은 일부 얼룩 컨테이너 "드라이브"(말) 안에 구름 드라이브입니다. 내가 장착하고 다음과 같은 방법으로 그것을 매핑 :VHD 드라이브의 서버 경로

driveLetter = drive.Mount(localCache.MaximumSizeInMegabytes - 20, DriveMountOptions.Force); 

"드라이브 문자" "A : \"입니다 (말). 이제 모든 PDF 파일 이름을 페이지의 링크 버튼으로 표시하고 있습니다. 자바 스크립트 기능

를 사용하여 내가 브라우저에서 해당 PDF 파일을 열려면 해당 파일의 클릭에
window.open(pdfPath, pdfName, 'scrollbars=yes, resizable=yes'); 

내 질문에 나는 "pdfPath"매개 변수로 전달할 무엇을해야합니까입니까?

"A : \ Uploads \ pdfName.pdf"경로가 있습니다. 그러나 나는 그것을 통과시킬 수 없다. 사용자가 볼 수 있도록 http://servername:port/path처럼 전달해야합니다.

그러나 http://servername:port/path과 같은 링크로 변환하는 방법을 모르겠습니다. 이렇게하면 브라우저에서 PDF를 볼 수 있습니다.

도와주세요.

미리 감사드립니다.

답변

0

난이 직접 질문에 대답하지 않습니다 실현,하지만 ... 난 드라이브 당신이 푸른에 서면으로 무슨 일을하는지에 몇 가지 제한을 보게 될 것입니다 생각 :

  • 한 번에 하나의 Role 인스턴스 만 vhd에 대한 쓰기 액세스 권한을 가질 수 있습니다. 이는 인스턴스 당 고유 한 vhd가 없거나 인스턴스가 읽기 전용 스냅 샷을 만드는 경우가 아니면 솔루션 인스턴스가 하나의 인스턴스를 초과 함을 의미합니다.
  • 이제 Role 인스턴스를 통해 개별 파일에 액세스해야합니다. 외부 세계에 vhd 내의 파일에 대한 직접 링크를 제공 할 수 없습니다.
  • 파일을 관리하려면 Azure 드라이브를 탑재해야합니다. 이는 Windows Azure 이외의 코드에서 파일을 관리 할 수 ​​없음을 의미합니다. Azure 드라이브는 Windows Azure 역할 인스턴스에서만 마운트 할 수 있습니다.

개별 파일을 개별 BLOB에 작성하는 것이 좋습니다.

  • 모든 인스턴스가
  • 당신은 웹에서 직접 파일의 URL의 임베딩의 선택의 여지가 읽기/(별도의 BLOB에 각 파일을) 각 개별 파일을 작성할 수 있습니다 :이 시나리오에 푸른 드라이브를 사용하는 동안 몇 가지 장점이 있습니다 페이지. 이것은 Role 인스턴스 중 하나를 통해 라우팅 할 필요없이 blob에 대한 직접 액세스를 제공합니다 (IIS가 필요하지 않으므로 상기 인스턴스에서로드 해제됩니다)
  • 개별 블롭을 비공개로 설정할 수 있으며, 도 여전히 있습니다. 공유 액세스 서명을 통해 개인 BLOB에 URL을 제공하십시오.
  • 개별 BLOB를 원격으로 관리 할 수 ​​있으며이를 수행하는 데 도움이되는 여러 가지 타사 도구가 있습니다.
  • 원하는 경우 저장소에 CDN (가장자리 캐싱)을 사용하면 소스 BLOB에 직접 연결하지 않고 URL을 CDN 링크로 지정할 수 있습니다. 이는 공개 대상 얼룩에 국한됩니다.
+0

제안 해 주셔서 감사합니다. 네가 제안한대로 했어. VHD의 솔루션을두고 blob 컨테이너로 blob을 사용하기 시작했습니다. 모든 도움에 감사드립니다 !! – Dhananjay

0

작은 혼란이 있습니다.

푸른 색 드라이브는 기술적으로 푸른 색 방울 저장소에 저장된 얼룩이므로 URL이 있습니다. 대조적으로, Azure 드라이브의 CONTENTS는 URL을 사용하여 직접 액세스 할 수 없습니다. Azure 드라이브에 포함 된 파일을 노출하려면 Windows Azure 인스턴스에서 파일에 액세스 할 수 있도록해야합니다.

드라이브를 탑재 할 때 Azure 드라이브를 IIS의 가상 폴더로 매핑하여이 작업을 수행 할 수 있습니다. .Net을 코딩하는 경우 System.Web.Administration을 살펴보십시오 (프로젝트에 포함해야합니다. IIS의 일부이며 CLR에 직접 포함되지 않습니다). 다른 언어로 코딩하는 경우 가장 간단한 방법은 appcmd.exe를 호출하여 가상 폴더를 정의하는 것입니다.

피에르

+0

액세스 할 수 있습니다. 내 검사 .VHD는 내 형편이야. 나는 그것을 "A : \"로 탑재했다. A : 그 안에 일부 pdf가 있습니다. 그래서이 pdf에 하늘의 서버뿐만 아니라 로컬 링크를 사용하여 어떻게 접속해야합니까? – Dhananjay