【发布时间】:2016-02-02 09:55:46
【问题描述】:
我有一个 cUrl 请求:
curl -v -u admin:geoserver -XPUT -H "Content-type: application/zip" --data-binary @C:\nyc_khr.zip http://localhost:9090/geoserver/rest/workspaces/nyc_roads/datastores/roads/file.shp
我需要像上面一样发出请求,但使用 C#
我的代码示例:
RestClient client = new RestClient(URL)
{
Authenticator = new HttpBasicAuthenticator("admin", "geoserver")
};
var data = File.ReadAllBytes(somePath);
string url = @"rest/workspaces/nyc_roads/datastores/roads/finalas.shx";
var request = new RestRequest(url, Method.PUT);
request.AddHeader("Content-Type", "application/zip");
request.AddFile("finalik.zip", data, "finalik.zip", "application/zip");
var response = client.Execute(request);
var res = response.ContentType;
【问题讨论】:
-
你有什么问题/错误?
-
我从服务器得到“无法确定格式。尝试设置 Content-type 标头”。但如果我使用 cUrl 它工作正常。 \
-
在您的示例中,我看到 URL 不匹配 - cURL 指向
roads/file.shp,但 RestSharp 指向roads/finalas.shx。这可能是原因,还是这只是一些示例代码? -
对于这种情况并不重要。问题:我不知道如何正确地将文件附加到请求中。