2012-01-03 5 views
0

내 로컬 PC에서 경로 (HTML 파일)로 이동하려는 C#의 웹 브라우저가 있습니다. 나는 이것을 사용하여 시도 :C# WebBrowser 파일 경로로 이동 (파일이 있음)

if (File.Exists(Path + b.HTML)) 
       { 
        browserCom1.Navigate(Path + b.HTML); 
       } 

파일은 존재하지만, 브라우저는 인터넷 익스플로러의 오류를 여는 유지입니다 : "파일을 찾을 수 없습니다 : /// (여기 내 길)"

그것은 이상한 파일이 정확하기 때문입니다. 예를 들어 내가 사용하는 경우 :

System.Windows.Forms.OpenFileDialog browseFile = new 
System.Windows.Forms.OpenFileDialog(); 
    browseFile.ShowDialog(); 
    String path = browseFile.FileName; 
    browserCom1.Navigate(path); 

그리고 나는 이전에 탐색 해본 파일과 동일한 파일을 선택합니다.

위의 brwseFile 파일 이름을 콘솔 (내 경로 + b.HTML과 동일 함)에 인쇄하고 탐색 (...) 기능에 복사하여 붙여 넣으면 (각 ' 'to'// ') 작동하지 않습니다.

나는 무엇을 해야할지 아이디어가 없습니다. 내가 좋아하는 뭔가를 시도 :

String path=(File.Open(Path + b.HTML, FileMode.Open).Name); 
browserCom1.Navigate(path); 

하지만 응용 프로그램은이에 얼어 붙었다지고 유지한다.

나는 또한 new URI(path)와 함께 시도했다.

컴퓨터의 HTML 파일을 어떻게 간단하게 탐색 할 수 있습니까?

+0

응용 프로그램이 실행되는 계정에 파일이있는 폴더에 대한 사용 권한이 있습니까? – Oded

+0

IIRC에서는 현재 문서가 일부 이벤트를 처리하도록 작성된 후에 만 ​​Url로 이동할 수 있습니다. WebBrowser 구성 요소는 이상하게 작동합니다. – CodingBarfield

+0

하드 코딩 된 값을 시도했습니다. 나는 또한 위에서 언급했다. C : //KioskWpf//WpfApplication2//Images//stuff.html 이것은 링크입니다. – Programer

답변

0

당신은 HTTP 슬래시,하지만 파일 시스템이 C와 같은, 슬래시가 있어야합니다 저도 같은 문제가 있었 \ something.html

0

\ 뭔가. 코드에서 double \\을 지울 때 해결되었습니다. 이것이 문제가 아니라면 - 문제가 문자열에서 uri로 파싱하는 것과 관련된 다른 문제 일 수 있습니다. 내 경로는 다음과 같습니다. c : \ users \ someone1 \\ myFolder \ protocol.htm

관련 문제