Ich muss den folgenden Code von Java zu C# konvertieren, wenn ich restAPI in C# verwende.Konvertieren von GetEntity(). GetContent() von Java zu C#
in Java:
HttpGet statusGet = new HttpGet(fileUrl);
statusGet.setHeader("X-API-TOKEN", API_TOKEN);
HttpResponse response = httpClient.execute(statusGet);
// Extract exported file
ZipInputStream zs = new ZipInputStream(response.getEntity().getContent());
In C# ist das, was ich habe.
var client1 = new RestClient(fileUrl);
var request1 = new RestRequest(Method.GET);
request1.AddHeader("X-API-TOKEN", "API_TOKEN");
request1.AddHeader("content-type", "application/json");
request1.AddParameter("application/json", "{\n\t\"format\" : \"csv\",\n\t\"surveyId\" : \"_surveyId\"\n}", ParameterType.RequestBody);
IRestResponse responsedata = client1.Execute(request1);
var download=client1.DownloadData(request1);
MemoryStream stream = new MemoryStream(download);
ZipInputStream zs = new ZipInputStream(stream);
using (ZipFile zip1 = ZipFile.Read(zs))
Ich habe keine Ahnung, wie response.getEntity zu implementieren() getContent(). Ich glaube, es ist der Stream (mit einer Zip-Datei?) Aktualisiert: So bekomme ich die Byte-Array von client1.DownloadData (request1), sieht aus wie es nicht richtig ist, es in Strom zu konvertieren (hat Readtimeout Ausnahme). und es kann nicht aus zipfile.read lesen Vielen Dank für Ihre Hilfe
Ja. Du liegst absolut richtig. Mir wurde gesagt, dass es eine Zip-Datei zurückgeben wird. Ich nehme an, dass IRestResponse.Content eine Zip-Datei enthält? Aber es ist gerade wie eine Schnur. Denkst du ich kann das deserialisieren? Danke gmiley – shakedong93
Nein, Sie würden wahrscheinlich nur den Inhalt als String verwenden und ihn als Datei in Ihr Dateisystem schreiben, indem Sie Klassen/Funktionen im 'System.IO' Namespace verwenden. Sie deserialisieren nur zu einer Klasse, wenn Sie eine Klasse erwarten. Wenn Sie Dateiinhalte erhalten, erhalten Sie diese normalerweise als "String" oder möglicherweise als "Stream". – gmiley
@ shakedong93 hat diese Antwort helfen, Ihr Problem zu klären? – gmiley