http сервис выгрузка файла
☑
0
Noxvil
15.07.20
✎
20:02
Коллеги, добрый день.
Написал простой http сервис с функцией GET
Вот так она выглядит:
ТаблицаЗапроса = Запрос.Выполнить().Выгрузить();
ПостроительОтчета = Новый ПостроительОтчета;
ПостроительОтчета.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаЗапроса);
ТабДок = Новый ТабличныйДокумент;
Построительотчета.Вывести(ТабДок);
имяФайла = ПолучитьИмяВременногоФайла( "xlsx" );
ТабДок.Записать( имяФайла, ТипФайлаТабличногоДокумента.XLSX );
двДанные = Новый ДвоичныеДанные( имяФайла );
//УдалитьФайлы(имяФайла);
Ответ.УстановитьТелоИзДвоичныхДанных(двДанные);
// заставляем браузер показать окно сохранения файла
ЗаписьЖурналаРегистрации(имяФайла);
Ответ.Заголовки.Вставить("Content-Type", "application/xlsx");
Ответ.Заголовки.Вставить("Content-Disposition", "attachment; filename=" + КодироватьСтроку( "Tasks.xlsx", СпособКодированияСтроки.КодировкаURL));
Возвращает абракадабру.
Если просто сохранить файл, то нормально.
Я так понимаю, это кодировка глючит. Есть понимание, как надо настроить заголовки или сервер, чтобы возвращал файл корректно?
1
acht
15.07.20
✎
20:11
application/octet-stream
2
Noxvil
15.07.20
✎
20:15
(1) Неа, так же
Думаю кодировку написать, вот только не понимаю - какую
Сервер виндовый, веб сервер iis
3
Noxvil
15.07.20
✎
20:18
(1) Стойте, через postman получилось сохранить файл и открыть
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший