开发者

How do I make WebClient.DownloadFile() work with xnb, xgs, xsb, xwb files?

开发者 https://www.devze.com 2023-03-26 19:32 出处:网络
I\'m creating an Updater program in C# for my PC game that basically sends an Http message to the server to find out what the latest version of the game is. If there is a newer version, it downloads t

I'm creating an Updater program in C# for my PC game that basically sends an Http message to the server to find out what the latest version of the game is. If there is a newer version, it downloads the necessary files. To download the files I used the WebClient.DownloadFile() method. There are a few posts on the forums detailing problems with this method but none of them are quite like mine.

开发者_Python百科

I use the method like this:

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

I immediately ran into a problem downloading any files with the following extensions:

.xnb
.xgs
.xsb
.xwb

I would get an exception stating "The remote server returned an error: (404) Not Found."

So as an experiment I added 3, more common, files to the same directory.

.txt
.doc
.jpg

and the DownloadFile() method worked perfectly for those files. Does anybody know why this method isn't working for the first 4 files types but works fine with the last 3?

Also I tried WebClient.DownloadData() and HttpWebRequest.GetResponse() (after setting up the request), I even tried reversing the extension name on the server (.bnx), but no matter what, I would get the same exact exception.

If anybody really wants to tackle this, here are links to 2 sample files (I tried to post all 7 sample files but Stack Overflow only allows me to post 2 links):

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

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


Most likely the MIME-Settings for the file types you mention are set up incorrectly in IIS. Go to IIS Server Mananger -> MIME-Settings and add the file-types accordingly.

Probably a better idea to transfer any filetype would be to download only files like

file.xnb.dat
file.xgs.dat

and rename them locally.

-Matthias

0

精彩评论

暂无评论...
验证码 换一张
取 消