繁体   English   中英

C# 如何解决 Web 客户端上传文件“远程服务器返回错误:(405)方法不允许。”?

[英]C# How to solve Web Client Upload file “The remote server returned an error: (405) Method Not Allowed.”?

您好,我想将我本地的 html 文件上传到服务器中的远程文件夹,该文件夹包含带有地理服务器元素的数据目录,这是我的代码:

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 ,但我遇到了同样的错误。

编辑:有人认为这可能是一个安全问题吗? 使用 UploadData 我得到了同样的错误

编辑:在用不同的方法(即UploadDatat ie)进行长时间测试后,我总是遇到同样的错误。我一直在搜索和阅读,但没有发现任何真正有用的东西。

编辑:有什么想法吗?

提前致谢

PUT未配置...通常PUT (但并非总是)意味着服务器理解WebDAV ... HTTP上传通常通过POST完成...

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

编辑 - 根据评论:

POST 请求需要以不同的方式构建,并且取决于服务器对它们的期望...对于一些示例代码,请参阅使用 HTTPWebrequest (multipart/form-data) 上传文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM