Открытие локальных файлов в Webkit .NET - PullRequest
3 голосов
/ 05 января 2011

Простой WebKitBrowser1.Navigate (localfilehere) по какой-то причине не работает.

Я попытался добавить "file: //" в URL, но это тоже не сработало.

Это кажется смешным, но действительно ли эта функциональность отсутствует?

Ответы [ 7 ]

5 голосов
/ 31 мая 2012

Похоже, вы указали неверный URL.Вы можете проверить это по

Uri.IsWellFormedUriString

Одна из причин - вы ставите строку с национальными символами.

В этом случае ответы до этого не решают вашу проблему, потому что вы также должны закодироватьurl.

Вы можете использовать для него System.Web.HttpUtility.UrlEncode, а затем применить решение, описанное ранее X Enterprises (но вы не должны заменять пробелы - это было бы уже сделано путем кодирования).

Но самый простой способ получить правильный URL-адрес -

string url = new Uri(pathToFile, UriKind.Absolute).AbsoluteUri;
3 голосов
/ 27 января 2011

"file: //" - правильный протокол.Чтобы добраться до файла, скажем в ... "c: \ temp \ test.html", вы можете попробовать что-то вроде:

"file: //c/temp/test.html"

Обратите внимание на косую черту и отсутствие двоеточия после буквы диска.

2 голосов
/ 13 декабря 2012

Функция WebKit.Net 0.5 Navigate() принимает строку в качестве параметра (локальные / веб-файлы). Для локального файла, например, c:\xxx\yyy zzz.htm может быть передано в функцию навигации следующим образом: -

dim sFile As String = "c:\xxx\yyy zzz.htm"
Dim url as new Uri(sFile, UriKind.Absolute)

'Now pass the file's required formatted absolute path
WebKitBrowser1.Navigate(url.AbsoluteUri)
1 голос
/ 04 июля 2012

Предположим, что index.html находится в папке bin / debug, а затем

Использовать "file: ///" + Environment.CurrentDirectory.Replace (@ "\", @ "/") + "/ index.html "

Предположим, что index.html находится в bin / debug и создал папку вроде www, затем

Используйте" file: /// "+ Environment.CurrentDirectory.Replace (@" \ ", @«/")+"/www/index.html"

1 голос
/ 21 октября 2011

Создать образец HTML-страницы.Загрузить в мои ресурсы.

Используйте этот код: WebKitBrowser1.document.write (my.resources.page.html)

1 голос
/ 27 февраля 2011

Я нашел решение вашей проблемы:

1.) Убедитесь, что путь начинается с "file: ///"
2.) Убедитесь, что вы используете полный путь к файлу
3.) Убедитесь, что все обратные косые черты заменены на прямые косые черты
4.) Убедитесь, что вы заменили все пробелы "" на "% 20"
5.) Убедитесь, что файл заканчивается на «.html»

Итак, файл здесь:
"C: \ Program Files \ test.html"
нужно было бы стать:
"Файл: /// C: /Program%20Files/test.html"

Надеюсь, это поможет.

0 голосов
/ 05 января 2011

В Google Chrome вы можете открыть локальный файл, введя file: ///, за которым следует полный путь к файлу, поэтому возможно, что вам понадобится использовать тот же оператор в Webkit.

...