1 Востаннє редагувалося Betterthanyou (08.12.2021 15:23:33)

Тема: web api controller Отримати бінарний файл

Ось такі параметри хедера
https://i.ibb.co/4YcpLpZ/1.jpg
Файл відправляю як бінарний
https://i.ibb.co/HgBhhMf/2.jpg
По розміру, у "var len", можна побачити що я отримую файл повністю. Але потім, коли файл зберігається, він повнісню відрізняється від оригіналу по бінарному коду (не відкривається як pdf).

        [HttpPost]
        [Produces("application/octet-stream")]
        [Route("ReceivePDF")]
        public async Task<JsonResult> ReceivePDF()
        {
            try
            {
                var len = (int)Request.ContentLength.Value;
                var data1 = new byte[len];
                await Request.Body.ReadAsync(data1, 0, (int)len);

                BinaryWriter writer = new BinaryWriter(System.IO.File.Open(@"C:\***\Downloads\b_text2.pdf", FileMode.Create));
                writer.Flush();
                writer.Write(data1);
                writer.Close();

Як отримати бінарний файл ?

2

Re: web api controller Отримати бінарний файл

може краще для таких речей перейти на signalR ? Або спробуйте кодування у base64 тоді проблема у алгоритмі передачі можливо проясниться.

Подякували: Betterthanyou1

3

Re: web api controller Отримати бінарний файл

А можете подивитися, що саме псується? Нові рядки? Перекодування?

Подякували: Betterthanyou1