Я пытаюсь отправить zip-файл, который я создаю в одном API (давайте назовем это «API 1»), другому (иначе «API 2»).
Первоначально я пытался просто отправить байт [] как ответ в API 1, но при обращении к ответу в API 2 байт [] имел другой размер, и файл был поврежден. Затем я попытался преобразовать byte [] в API 1 в строку base64, а затем декодировать в API 2, но понял, что строки не совпадают, и снова файл поврежден.
Вот мой кодв настоящее время он стоит ...
Код API 1
[HttpPost]
public IActionResult BuildZipFile(Custom myObject)
{
CODE HERE WHICH GENERATES ZIP FILE
byte[] zipFile = System.IO.File.ReadAllBytes(ZIP FILE PATH);
return Ok(Convert.ToBase64String(zipFile));
}
Код API 2
[HttpPost]
public IActionResult RetrieveZipFile(Custom myObject)
{
RestClient client = new RestClient(@"https://localhost:44323/api/ProcessBuild");
RestRequest request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", JsonConvert.SerializeObject(myObject), ParameterType.RequestBody);
var response = client.Execute(request);
byte[] retrievedZipFile = Convert.FromBase64String(response.Content);
return File(retrievedZipFile, "application/zip", process.Name + ".zip");
}
В настоящее время возвращается ZIP-файл, который поврежден. Любая помощь по этому вопросу будет принята с благодарностью!