随笔 - 83,  文章 - 6,  评论 - 20,  阅读 - 10万

要引用命名空间:System.Net

复制代码
 1 /// <summary>
 2 /// 远程上传文件
 3 /// </summary>
 4 /// <param name="fileName">文件名称</param>
 5 /// <param name="localPath">本地文件地址(不含文件名)</param>
 6 /// <param name="serverPath">服务器文件地址(不含文件名)</param>
 7 public void WebUploadFile(string fileName, string localPath, string serverPath)
 8 {
 9     WebClient wc = new WebClient();
10     byte[] bt = wc.UploadFile(serverPath + fileName, "PUT", localPath + fileName);
11 }
复制代码

调用方法:

string serverPath = "http://"+域名+文件要存放的目录地址";

WebUploadFile(fileName, localPath, serverPath);

 

1 远程服务器返回错误: (401)  添加身份验证:

需要在站点开启身份验证的权限(允许匿名访问,windows 身份验证),在iis7.0内容视图上双击身份验证、开启匿名身份验证和windows身份验证。

2 远程服务器返回错误 (403) 已禁止

解决方法:iis虚拟目录的写入权限和uploadfile文件夹给iis_user用户开写入权限。

进入网站的虚拟路径目录,虚拟目录属性给写入权限;

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

分析与解决方法:一般是由于UploadFile()函数中中“PUT”“POST”关键字,要选择使用“PUT”关键字。同时要添加iis的处理程序映射。

WebClient myClient = new WebClient();

myClient.UploadFile(Serverurl,"PUT",localfilePath);

//UploadFile函数中如果关键字POST,必须改用PUT。同时要配置IIS的功能视图中的处理程序映射,配置过程如下:开始-运行—inetmgr命令,开启ii7,左侧选择虚拟目录,右侧选择功能视图处理程序映射-双击进入,选择ExtensionlessUrlHandler-Integrated-4.0双击后,点击请求限制-谓词面板-,下列谓词之一:GET,HEAD,POST,DEBUG,PUT,DELETE。默认没有PUT,DELETE,添加上。

4“远程服务器返回错误: (405) 不允许的方法

解决方法:把网站发布到iis上,设置iis的写入权限和上传文件夹的写入权限。不知道为什么在本地调试都是报这种错误,把网站发布到iis上,再通过iis访问就可以通过了,邪乎~

5“远程服务器返回错误: (500) 内部服务器错误

分析与解决方法:可能是client信息头需要设置,

  WebClient client = new WebClient ();

 // Add a user agent header in case the requested URI contains a query.

  client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

6远程服务器返回错误: (501) 未实现

webdav没有启动,ii6webdav作为iis的辅助服务,默认不开启,可以自己开启。

win7WebClient服务没有开启(我的电脑-管理-服务中开启此服务),同时在iis7.0 中配置webdav服务,添加授权规则:allow access to ( all content); Allow access to this content to (All users) ;permission (Read, Source,Write)

 

IIS6 WebDAV 开启设置

控制面板 - 添加或删除程序 - 添加或删除Windows组件(A),弹出Windows组件向导,双击【应用程序服务器】,双击【Internet信息服务(IIS)】,双击【万维网服务】,拖到最下面,勾选【WebDAV 发布】。点若干个OK然后next,安装完毕。装好之后【管理工具】里面【Internet信息服务(IIS)管理器】里面最下面有个【Web服务扩展】,点开右边最下面WebDAV就是允许。

WIN7 IIS7 WebDAV 开启设置

win7WebClient服务没有开启(我的电脑-管理-服务中开启此服务),同时在iis7.0 中配置webdav服务,添加授权规则:allow access to ( all content); Allow access to this content to (All users) ;permission (Read, Source,Write)

posted on   £冷☆月№  阅读(525)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示