Мой поставщик каналов отправляет мне файл .gz (zip-файл) по запросу POST на мой сервер.
Я пытаюсь реализовать код .NET, который будет перехватывать запрос POST и разархивировать файл, чтобы открыть файл внутри.
Я просто пытаюсь перехватить запрос POST и распаковать содержимое, сделав это:
namespace app.Controllers
{
[Route("")]
public class FeedController : Controller
{
[HttpPost]
public string Post([FromBody] string content)
{
return content;
}
}
}
он возвращает 415 UnsupportedMediaType.
Как перехватить POST-запрос, который является ZIP-файлом, и как распаковать его, чтобы вернуть файл внутри?
благодарю вас.
Редактировать :
[HttpPost]
[Consumes("multipart/form-data")]
public IActionResult Post(IFormFile file)
{
if (file == null)
return BadRequest();
try
{
using (var zip = new ZipArchive(file.OpenReadStream()))
{
// do stuff with the zip file
}
}
catch
{
return BadRequest();
}
return Ok();
}
[FromBody] string content
мне кажется неправильным: я не думаю, что это будет строковый параметр. Я полагаю, вам нужен HttpPostedFileBase, но я не знаю подробностей. - person Rup   schedule 10.12.2019