Запрошенный URI недопустим для этой команды FTP, если имя файла содержит #
Я получаю ошибку "запрошенный URI недействителен для этой команды FTP" при попытке загрузить любой файл, содержащий "#" в имени файла. Все остальные файлы загружаются без каких-либо проблем. Если я удаляю #, файлы загружаются нормально, но это не вариант, так как он требуется для многочисленных клиентов.
Что я уже пробовал:
Я проверил полный URI, и он верен...
ftp://path-to-server/folder/#1.jpg
Я протестировал загрузку файлов с помощью Windows FTP &filezilla без каких-либо проблем. По какой-то причине, которую я не могу понять, FTPWebRequest не любит # в именах файлов.
Peter_in_2780
Можете ли вы попробовать кодировать # как # ? Что - то, вероятно, рассматривает его как ссылку на HTML-тег или как (сломанную) кодировку URL-адреса.
(гррр мне потребовалось 3 хода, чтобы правильно закодировать это!)
Shane_Beggs
Огромное спасибо! Я закончил тем, что использовал WebUtlity.UrlEncode(ftp://path-to-server/folder/#1.jpg) который работает как лакомство!
Peter_in_2780
Отлично! Я превращу свой комментарий в ответ. Тогда вопрос будет отображаться как ответ, чтобы другие могли ссылаться на него.