远程服务器返回错误: (404) 未找到。 求解:

qydvip 2013-08-06 03:06:59
错误如题:

出现错误原因:
上传 很多文件 后缀名是不一致的 但是 在下载的时候 后缀名为 .config .log .bat .ini 就会出现错误,所报的错误就是 远程服务器返回错误: (404) 未找到。

代码如下:
/// <summary>
/// 异步升级
/// </summary>
private void DownloadAllFiles()
{
try
{
//判断是否能连接服务器
ulc.GET_CONN();
string filename = dt.Rows[downfilenum]["文件"].ToString();
string filepath = dt.Rows[downfilenum]["客户端路径"].ToString();
string serverpath = "http://" + ConfigHelper.GetConfigString("ServerIP") + "/upgrade/";
serverpath = serverpath + filename;
string localFilePath = Path.Combine(this.UpdateFolderPath, filename);

webClient.DownloadFileAsync(new Uri(serverpath), localFilePath);
gridView1.SetRowCellValue(downfilenum, "下载状态", "正在下载...");
}
catch (Exception ex)
{
Directory.Delete(Application.StartupPath + @"\update", true);
Directory.CreateDirectory(Application.StartupPath + @"\update");
MessageHelper.Show("连接不上服务器!", MessageType.Information);
updateFlaglbl.Text = "下载失败";
startbtn.Enabled = true;
}
}

我想问问 这是什么原因呢 是要在哪里需要设置么 设置文件下载的类型

我要补充的是 上传没有问题的 已经成功上传到指定文件夹。

求解!
...全文
7129 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenshichenshi 2013-08-06
  • 打赏
  • 举报
回复
上传的时候限制下吧, 什么都传 , 你就不怕别人弄个病毒丢上去?
qydvip 2013-08-06
  • 打赏
  • 举报
回复
引用 8 楼 chenshichenshi 的回复:
顶一个,秦远东,是吧
哥 我错了 我回复啦
chenshichenshi 2013-08-06
  • 打赏
  • 举报
回复
你妹的, 居然不回复
chenshichenshi 2013-08-06
  • 打赏
  • 举报
回复
顶一个,秦远东,是吧
qydvip 2013-08-06
  • 打赏
  • 举报
回复
别沉啊 大神们 帮帮忙啊
qydvip 2013-08-06
  • 打赏
  • 举报
回复
引用 4 楼 rainfull 的回复:
m|me增加
按照说法做,在服务器上打开iis,找到自动升级的文件夹,查看属性,选择”HTTP头“选项卡,发现有个MIME映射选项,单击”文件类型“,再单击”新类型”,在关联扩展名里添加“.*”,在内容类型里添加“application/octet-stream”,设置完毕。 我是按照这个添加的 结果还是不好使
qydvip 2013-08-06
  • 打赏
  • 举报
回复
引用 4 楼 rainfull 的回复:
m|me增加
这个已经添加 但是 还是不好使
rainfull 2013-08-06
  • 打赏
  • 举报
回复
m|me增加
qydvip 2013-08-06
  • 打赏
  • 举报
回复
引用 1 楼 lizhi3186575 的回复:
你程序是Web程序吧,应该是默认的配置文件中不能对config这样的文件进行访问,如果你要下载该类型的文件,需要自定义处理函数吗,需要配置httpHandler这个节点添加自定义函数来处理.config类型文件的处理。不能服务器会默认拒绝访问。
在网上找了很多资料 使用限制的 说iis 不允许这样的 需要在iis上上把config这个后缀去掉 就可以了 具体操作方法是这样的 你看一下对不对 如果是iis6右键网站属性---》主目录---》编辑 在缓存ISAPI的应用程序扩展名中删除.config 项目 ASP.NET IIS映射(IIS->默认网站->属性->主文档->配置->映射->添加): 可执行文件C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727"aspnet_isapi.dll 扩展名.config 这种方法试过了 不好使
人生导师 2013-08-06
  • 打赏
  • 举报
回复
对于config文件拒绝访问的配置文件可以在 C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config中找到下面的配置信息:

// System.Web.HttpForbiddenHandler这个代表拒绝访问的处理程序
   <add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/>
更多的内容可以参考Web.config的详解和Asp.NET底层解密:http://msdn.microsoft.com/zh-cn/library/bb398986(v=vs.100).aspx
人生导师 2013-08-06
  • 打赏
  • 举报
回复
你程序是Web程序吧,应该是默认的配置文件中不能对config这样的文件进行访问,如果你要下载该类型的文件,需要自定义处理函数吗,需要配置httpHandler这个节点添加自定义函数来处理.config类型文件的处理。不能服务器会默认拒绝访问。

110,577

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧