2014-10-17 4 views
0

비디오 서버에 비디오 파일이 있는지 확인하고 파일이 있으면 링크를 표시해야하는 aspx 페이지가 있습니다. 그러나 우리의 비디오는 C 드라이브에 저장되지 않고 D 드라이브에 저장됩니다. 내가파일이 원격 서버 및 다양한 드라이브에 있는지 확인하십시오.

System.IO.File.Exists(@"http://ourvideoserver/pcode/videofile_name.mp4") and 
System.IO.File.Exists(@"\\ourvideoserver\\D:\\pcode\\videofile_name.mp4") 

마지막 그냥 추측

을 복용했다 그리고 내가 C.

아닌 다른 드라이브에 원격 서버에있는 파일을 확인하는 방법을 알아낼 수 없습니다를 시도

누군가가 원격 서버의 D 드라이브를 체크인하는 방법을 올바른 방향으로 알려줄 수 있습니까?

+1

서버 인프라가 무엇을? 그들은 동일한 로컬 네트워크에 있습니까? 아니면 별도의 웹 서버입니까? 아니면 무엇입니까? –

+0

비디오 서버와 웹 서버가 서로 다른 서버에 있지만 동일한 네트워크에 있습니다. 비디오 플레이어에서 작동하지만 로컬 컴퓨터에서 코드를 작성하려고하는데 서버에 직접 액세스 할 수 있습니다. – mattgcon

+0

그래서 삼바를 사용하고 Windows 탐색기에서 사용하는 것과 동일한 경로로 파일을 검사 할 수 있습니다. 다른 옵션은 비디오 서버에서 파일을 확인하는 웹 서비스를 만드는 것입니다. –

답변

1

UNC 경로에서 드라이브는 $로 표시됩니다. 즉, D $입니다. 이것을 시도하십시오 :

System.IO.File.Exists(@"\\ourvideoserver\D$\pcode\videofile_name.mp4") 
+0

죄송합니다. 감사. 나는 나의 반응을 편집했다. – ChrisG

+0

다음과 같은 시도했지만 false System.IO.File.Exists (@ "\\ ourvideoserver \\ D $ \\ content \\ ccg2014 \ 11890_240.mp4") – mattgcon

+0

너무 많은 \ s가 있습니다. @는 이스케이프 문자가 작동하는 방식을 변경합니다. System.IO.File.Exists (@ "\\ ourvideoserver \ D $ \ content \ ccg2014 \ 11890_240.mp4")를 시도하십시오. – ChrisG

0

그래서, 이와 같은 것은 작동해야합니다 (서버 이름을 변경하여 단위 테스트로 실행할 때).

C:\Windows\system32>net share 

Share name Resource      Remark 

------------------------------------------------------------------------------- 
C$   C:\        Default share 
IPC$           Remote IPC 
ADMIN$  C:\Windows      Remote Admin 
documents C:\documents 
The command completed successfully. 
: 검사 할 수

[TestMethod] 
public void CheckUNCFileExists() 
{ 
     Assert.AreEqual(true, File.Exists("\\\\fileserver\\documents\\file.txt")); 
     Assert.AreEqual(true, File.Exists(@"\\fileserver\documents\file.txt")); 
} 

것은 (내 경우는 "문서"주입니다) 파일 서버에 관리 명령 프롬프트를 사용, 실제 공유의 이름입니다

경로가 잘 보이면 (Windows 탐색기로 접근 할 수 있음) 조사 할 또 다른 사항은 웹 응용 프로그램의 응용 프로그램 풀 ID (Visual Studio와 같은 것을 사용하여 바탕 화면에서 디버깅하는 경우 또는 어떤 IIS 관리자가 웹 서버 측에서 구성 하든지) 공유 (Windows 공유 사용 권한) 및 읽기 액세스 (vi NTFS 권한)을 폴더/파일에 저장합니다 (또한 관리자의 편집 방법에 따라 상위 폴더에서 "트래버스"권한 필요).

Windows 탐색기로 연결할 수없고 관리 공유 (ex c $, d $ 등)를 사용하는 경우 다른 공유 이름으로 폴더를 다시 공유해야합니다. 사용자 /와 IIS 응용 프로그램 풀 ID로 읽을 수 있도록 사용 권한을 변경할 수 있습니다. 당신은 정말 관리 공유 이름을 사용하여 구부러진 경우에는 관리 공유의 권한을 수정해야이 같은 수행해야 할 수 있습니다

http://support.microsoft.com/kb/971277