c#如何解决Web客户端上传文件时远程服务器返回错误:(405)Method Not Allowed."

本文关键字:错误 返回 服务器 Method Not Allowed quot 解决 何解决 Web 客户端 | 更新日期: 2023-09-27 18:05:07

你好,我想上传一个html文件,是在我的本地到一个远程文件夹的服务器,其中包含一个数据目录与geoserver元素,这里是我的代码:

public void CopyWS(string SourcePath, string DestinationPath)
    {
        try
        {
            string SourcePath = Path.GetFullPath("Result.html");
            string DestinationPath = @"http://xx.xx.xxx.:8080/geoserver/rest/workspaces/";               
            string authInfo = "admin:geoserver";
            WebClient client = new WebClient();
            client.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(authInfo));
          client.UploadFile(DestinationPath, "PUT", SourcePath); 
}
        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }

我得到以下错误"错误405方法不允许"。我正在尝试不同的方法,如post而不是put,但我得到同样的错误。

EDIT:有人认为这可能是一个安全问题吗?对于UploadData,我得到相同的错误

EDIT:经过长时间的测试不同的方法(UploadDatat即)我总是得到相同的错误。我一直在搜索和阅读这方面的资料,但没有找到任何真正有用的东西。

EDIT:知道吗?

Thanks in advance

c#如何解决Web客户端上传文件时远程服务器返回错误:(405)Method Not Allowed."

PUT未配置…通常PUT(但并不总是)意味着服务器理解WebDAVHTTP上传通常通过POST完成…

另一种可能是一些代理阻止PUT

编辑-按注释:

POST请求需要以不同的方式构建,并取决于服务器如何期望它们…有关示例代码,请参见使用HTTPWebrequest (multipart/form-data)上传文件