我如何使WebClient.DownloadFile()工作与xnb, xgs, xsb, xwb文件
本文关键字:xnb xgs xsb 文件 xwb 工作 何使 WebClient DownloadFile | 更新日期: 2023-09-27 18:04:43
我正在用c#为我的PC游戏创建一个Updater程序,它主要是向服务器发送一个Http消息,以找出游戏的最新版本。如果有更新的版本,它会下载必要的文件。为了下载文件,我使用了WebClient.DownloadFile()方法。论坛上有一些帖子详细介绍了这种方法的问题,但没有一个像我这样。
我使用的方法是这样的:
WebClient webClient = new WebClient();<br/>
webClient.DownloadFile(sOriginFile, sDestinationFile);
我立即遇到了一个问题,下载任何具有以下扩展名的文件:
.xnb
.xgs
.xsb
.xwb
我将得到一个异常,说明"远程服务器返回了一个错误:(404)Not Found。"所以作为一个实验,我添加了3个更常见的文件到同一个目录。
.txt
.doc
.jpg
和DownloadFile()方法在这些文件中工作得很好。有人知道为什么这个方法对前4个文件类型不起作用,但对后3个文件类型却很好吗?
我还尝试了WebClient.DownloadData()和HttpWebRequest.GetResponse()(设置请求后),我甚至尝试逆转服务器上的扩展名(.bnx),但无论如何,我会得到相同的确切异常。
如果有人真的想解决这个问题,这里有2个示例文件的链接(我试图发布所有7个示例文件,但Stack Overflow只允许我发布2个链接):
http://www.facepuncher.com/Versions/CastleAbra/1.1/Sample.txt
http://www.facepuncher.com/Versions/CastleAbra/1.1/UiCursor.xnb
很可能您提到的文件类型的MIME-Settings在IIS中设置不正确。进入IIS服务器管理器-> MIME-Settings,添加相应的文件类型。
也许传输任何文件类型的更好的办法是只下载像 这样的文件。file.xnb.dat
file.xgs.dat
并在本地重命名。
马提亚