Как заставить WebClient.DownloadFile () работать с файлами xnb, xgs, xsb, xwb? - PullRequest
0 голосов
/ 05 августа 2011

Я создаю программу обновления на C # для моей игры для ПК, которая в основном отправляет Http-сообщение на сервер, чтобы узнать, какая последняя версия игры. Если есть более новая версия, она загружает необходимые файлы. Для загрузки файлов я использовал метод WebClient.DownloadFile (). На форумах есть несколько сообщений, в которых подробно описываются проблемы, связанные с этим методом, но ни одна из них не похожа на мою.

Я использую такой метод:

WebClient  webClient = new WebClient();<br/>
webClient.DownloadFile(sOriginFile, sDestinationFile);

Я сразу столкнулся с проблемой при загрузке любых файлов со следующими расширениями:

.xnb
.xgs
.xsb
.xwb

Я получил бы исключение, сообщающее: «Удаленный сервер возвратил ошибку: (404) Не найдено».

Итак, в качестве эксперимента я добавил 3, более распространенных файла, в один и тот же каталог.

.txt
.doc
.jpg

и метод DownloadFile () отлично работал для этих файлов. Кто-нибудь знает, почему этот метод не работает для первых 4 типов файлов, но отлично работает с последними 3?

Также я попробовал WebClient.DownloadData () и HttpWebRequest.GetResponse () (после настройки запроса), я даже пытался отменить имя расширения на сервере (.bnx), но, несмотря ни на что, я получал бы то же самое точное исключение.

Если кто-то действительно хочет заняться этим, вот ссылки на 2 примера файлов (я пытался опубликовать все 7 примеров файлов, но переполнение стека позволяет мне размещать только 2 ссылки):

http://www.facepuncher.com/Versions/CastleAbra/1.1/Sample.txt
http://www.facepuncher.com/Versions/CastleAbra/1.1/UiCursor.xnb

1 Ответ

2 голосов
/ 05 августа 2011

Скорее всего, MIME-настройки для типов файлов, которые вы упоминаете, неправильно настроены в IIS.Перейдите в IIS Server Mananger -> MIME-Settings и добавьте типы файлов соответственно.

Вероятно, лучшей идеей для передачи любого типа файла будет загрузка только таких файлов, как

file.xnb.dat
file.xgs.dat

и переименованиеих локально.

-Матиас

...