首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让WebClient.DownloadFile()处理xnb、xgs、xsb、xwb文件?

如何让WebClient.DownloadFile()处理xnb、xgs、xsb、xwb文件?
EN

Stack Overflow用户
提问于 2011-08-06 02:17:29
回答 1查看 608关注 0票数 0

我正在用C#为我的PC游戏创建一个更新程序,它基本上是向服务器发送一条Http消息,以找出游戏的最新版本。如果有较新的版本,它会下载必要的文件。为了下载这些文件,我使用了WebClient.DownloadFile()方法。论坛上有一些帖子详细介绍了这种方法的问题,但没有一个像我的那样。

我使用的方法如下:

代码语言:javascript
复制
WebClient  webClient = new WebClient();<br/>
webClient.DownloadFile(sOriginFile, sDestinationFile);

下载带有以下扩展名的文件时,我立即遇到了一个问题:

代码语言:javascript
复制
.xnb
.xgs
.xsb
.xwb

我会得到一个异常,声明"The remote server returned an error:(404) Not Found“。

因此,作为实验,我将3个更常见的文件添加到同一目录中。

代码语言:javascript
复制
.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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-06 02:26:43

很可能是您提到的文件类型的MIME设置在IIS中设置不正确。转到IIS服务器管理器-> MIME设置并相应地添加文件类型。

也许传输任何文件类型的更好的方法是只下载像这样的文件

代码语言:javascript
复制
file.xnb.dat
file.xgs.dat

并在本地重命名它们。

-Matthias

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6960837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档