Вы не указываете, что используете, но исходя из пути к файлу, я могу с уверенностью предположить, что вы используете PDF. js. Если это так, вам нужно URL-кодировать имя файла. Согласно странице часто задаваемых вопросов :
Вы можете изменить опцию приложения defaultUrl в файле web / app_options. js или добавить строку запроса? File = в URL-адрес зрителя, например http://mozilla.github.com/pdf.js/web/viewer.html?file=compressed.tracemonkey-pldi-09.pdf. В последнем случае путь / URL-адрес PDF-файла должны быть закодированы с помощью encodeURIComponent ()
Таким образом, вам просто нужно будет позвонить encodeURIComponent()
на своем пути.
Изменить: вы должен кодировать URI с помощью js функции encodeURIComponent()
, потому что есть некоторые различия в том, как функция js кодирует путь и как C# кодирует его.
Например, сравнение WebUtility. UrlEcode docs с encodeURIComponent docs, мы видим, что большинство экранирований похожи. Экранируется:
encodeURIComponent () экранирует все символы, кроме: AZ az 0-9 - _. ! ~ * '()
Пока все хорошо. К сожалению, оба метода по-разному экранируют символ "" (пробел).
C# метод UrlEncode
делает следующее:
Каждый символ '' (пробел) преобразуется на символ + (плюс).
JS 'функция encodeURIComponent
делает следующее:
console.log (encodeURI ("AB C ab c 123 ")); // ABC% 20abc% 20123 (пробел кодируется как% 20)