Похоже на две разные вещи:
1) Замена обратной косой черты на прямую косую черту.
2) Применение URI-кодировки.
Первое очевидно.Во-вторых, у вас есть несколько вариантов, включая Uri.EscapeDataString
, Uri.EscapeUriString
, HttpUtility.UrlEncode
и HttpUtility.UrlPathEncode
.
edit
3) Как заметил ВилксПохоже, что HtmlEncoding в части имени файла.
Возможно, лучший ответ - использовать класс Uri для нарезки и нарезки частей, кодируя их по мере необходимости.