当前位置:编程学习 > C#/ASP.NET >>

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

    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 --------------------编程问答-------------------- 405 Method Not Allowed:请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对指定的资源不适用。

--------------------编程问答-------------------- 不懂帮顶,感谢分享 --------------------编程问答-------------------- 对URI的文件进写操作,一般来说都不好用,会报远程服务器返回错误: (405) 不允许的方法
因为现在的网站管理员不会把IIS的权限开得太大.个人感觉这个功能,没有什么用它有几个重载的方法,后面跟的一个string主要是让你来选择是post方式还是put方式进行写

参考
--------------------编程问答-------------------- 使用WebClient上传文件到Web服务器,有时会出现405错误,之前在xp下程序测试通过,但在WIN7下突然出现405错误,这里提供节点必要的设置:

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

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

3、开启WebDav中的规则

这点很重要,与xp设置界面不同。
--------------------编程问答-------------------- web服务器没有 开放 PUT这个方法。 --------------------编程问答-------------------- --------------------编程问答-------------------- WebClient类功能非常有限,特别是不能使用它提供身份验证证书。许多站点都不会接受没有身份验证的上传文件。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,