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

wangjianblue 2013-04-11 06:10:49
private void UpLoadFile(string fileNamePath, string serverFileURL)
{
// 创建WebClient实例
WebClient myWebClient = new WebClient();
myWebClient.Credentials = CredentialCache.DefaultCredentials;
// 要上传的文件
FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
try
{
//使用UploadFile方法可以用下面的格式
byte[] postArray = r.ReadBytes((int)fs.Length);
Stream postStream = myWebClient.OpenWrite(serverFileURL, "PUT");
if (postStream.CanWrite)
{
postStream.Write(postArray, 0, postArray.Length);
}
postStream.Close();
}
catch
{
//MessageBox.Show("文件上传失败,请稍候重试~");
}
}



UpLoadFile("C:\\301.bmp", "http://192.168.0.205:8005/Duty/");

权限都是EVERYONE IIS7.0
...全文
30334 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
WeiWY 2014-09-04
  • 打赏
  • 举报
回复
在Web.config里面加入如下设置: <system.webServer> <modules> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> </handlers> </system.webServer>
hyde100 2013-06-28
  • 打赏
  • 举报
回复
WebClient类功能非常有限,特别是不能使用它提供身份验证证书。许多站点都不会接受没有身份验证的上传文件。
Ny-6000 2013-06-28
  • 打赏
  • 举报
回复
游戏人间 2013-04-12
  • 打赏
  • 举报
回复
web服务器没有 开放 PUT这个方法。
暖枫无敌 2013-04-11
  • 打赏
  • 举报
回复
使用WebClient上传文件到Web服务器,有时会出现405错误,之前在xp下程序测试通过,但在WIN7下突然出现405错误,这里提供节点必要的设置:

1、Win7下默认WebClient是手动启动,这个需要设置成自动启动,为启动状态;

2、上传文件的文件夹有写入权限,匿名写入;

3、开启WebDav中的规则

这点很重要,与xp设置界面不同。
暖枫无敌 2013-04-11
  • 打赏
  • 举报
回复
对URI的文件进写操作,一般来说都不好用,会报远程服务器返回错误: (405) 不允许的方法 因为现在的网站管理员不会把IIS的权限开得太大.个人感觉这个功能,没有什么用它有几个重载的方法,后面跟的一个string主要是让你来选择是post方式还是put方式进行写 参考
u010229236 2013-04-11
  • 打赏
  • 举报
回复
不懂帮顶,感谢分享
gxingmin 2013-04-11
  • 打赏
  • 举报
回复
405 Method Not Allowed:请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对指定的资源不适用。
本次更新,我将文档从头到尾和官网发布的最新内容校对了一次,将所有的错误和遗漏的API全部补全和修复了。快半年了,EasyUI又更新了。这次依然以BUG修复和功能改进为主,EasyUI发展至今,主体功能已经基本完善。即便以后还有新组件,那也是在现有功能完善的基础上新增一些小组件了,类似Datagrid这类的大型复合组件应该比较少了,相比新组件我更期待官方能对EasyUI的性能优化多下下功夫。 jQuery EasyUI 1.4.5版本更新内容: Bug(修复) datagrid:修复在调用updateRow方法之后使用getChanges方法无法返回被更新的行的BUG; treegrid:修复在追加或插入新行的时候触发onLoadSuccess事件的BUG; tree:修复在追加或插入新节点的时候触发onLoadSuccess事件的BUG。 Improvement(改进) window:可以自定义显示样式了; window:新增“border”属性允许用户设置不同的边框样式; navpanel:新增“href”属性用以从远程服务器加载显示内容; combotree:“setValue”和“setValues”方法增加“id”和“text”形参; combobox:新增“showItemIcon”属性; combobox:在“groupPosition”属性值设置为“sticky”时,将会将选项分组标签固顶在下拉栏中; messager:当敲击回车键时将默认触发消息框的第一个按钮; validatebox:新增“editable”、“disabled”、“readonly”、“validateOnCreate”和“validateOnBlur”属性; validatebox:新增“enable”、“disable”、“readonly”和“resetValidation”方法; validatebox:允许用户来决定如何显示错误消息; filebox:新增“accept”和“multiple”属性; treegrid:新增复选框的选择; treegrid:新增“getCheckedNodes”、“checkNode”和“uncheckNode”方法; form:新增“iframe”属性;(官方未提及) form:新增“onProgress”事件;(官方未提及) form:新增“resetValidation”方法。(官方未提及)

111,098

社区成员

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

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

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