2

您好,我想将本地的 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,但我遇到了同样的错误。

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

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

编辑:有什么想法吗?

提前致谢

4

1 回答 1

1

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

另一种可能性是一些代理块PUT

编辑 - 根据评论:

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

于 2011-08-11T11:03:27.990 回答