您好,我想将本地的 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:任何想法?
提前致谢
PUT
未配置...通常PUT
(但并不总是)意味着服务器理解WebDAV
... HTTP
上传通常通过POST
...
另一种可能性是某些代理阻止PUT
.
编辑 - 根据评论:
POST 请求需要以不同的方式构建,并且取决于服务器如何期望它们......有关一些示例代码,请参见使用 HTTPWebrequest 上传文件(multipart/form-data) https://stackoverflow.com/questions/566462/upload-files-with-httpwebrequest-multipart-form-data/567460#567460
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)