![]() |
|
http сервисы отправка файлов | ☑ | ||
---|---|---|---|---|
0
ilya Nikolaevich71
12.10.16
✎
14:36
|
добрый день. платформа 8.3.8. Нужно реализовать отправку файлов в формате пдф из 1с, по обращению к моему сервису.
Я формирую табличный документ, сохраняю ее на диске и пытаюсь отправить. ни файл ни ответ никакой неприходит. файл я запихиваю в двоичные данные и устанавливаю в тело ответа. может ктото делал? подскажет? Ответ = Новый HTTPСервисОтвет(200); Ответ.Заголовки.Вставить("Content-Length", МояКартинка.Размер()); Ответ.Заголовки.Вставить("Content-Disposition","form-data; name=""AttachedFile1""; filename=""1.pdf"""); |
|||
1
Amfiaray
12.10.16
✎
14:40
|
Вот так работает:
HTTPОтвет = Новый HTTPСервисОтвет(200); Таб = Новый ТабличныйДокумент; ИмяФайла = ПолучитьИмяВременногоФайла(".pdf"); Таб.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); ДД = Новый ДвоичныеДанные(ИмяФайла); ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку(); ЗаписьXML.ЗаписатьОбъявлениеXML(); ЗаписьXML.ЗаписатьНачалоЭлемента("invoice"); ЗаписьXML.ЗаписатьАтрибут("binary", Base64Строка(ДД)); ЗаписьXML.ЗаписатьКонецЭлемента(); СтрокаXML = ЗаписьXML.Закрыть(); HTTPОтвет.УстановитьТелоИзСтроки(СтрокаXML); Возврат HTTPОтвет; |
|||
2
ilya Nikolaevich71
12.10.16
✎
14:47
|
Amfiaray - спасибо за ответ.
тоесть мне вернется строка хмл с кучей символов? я просто даже протестить не могу, я то ожидаю увидеть файлик на скачивание, как на обычных сайтах! или такой возможности нет? |
|||
3
Amfiaray
12.10.16
✎
14:52
|
Есть.
Там кажется вроде так надо: HTTPОтвет = Новый HTTPСервисОтвет(200); Таб = Новый ТабличныйДокумент; ИмяФайла = ПолучитьИмяВременногоФайла(".pdf"); Таб.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); HTTPОтвет.УстановитьТелоИзДвоичныхДанных(ДвоичныеДанные(ИмяФайла)); Возврат HTTPОтвет; |
|||
4
Stepa86
12.10.16
✎
14:57
|
я вот так xlsx отдаю
таблДок = _ВебСервисыВызовСервера.ПрайсЛистВТабличныйДокумент(); имяФайла = ПолучитьИмяВременногоФайла( "xlsx" ); таблДок.Записать( имяФайла, ТипФайлаТабличногоДокумента.XLSX ); двДанные = Новый ДвоичныеДанные( имяФайла ); УдалитьФайлы( имяФайла ); Ответ = Новый HTTPСервисОтвет(200); Ответ.УстановитьТелоИзДвоичныхДанных( двДанные ); // заставляем браузер показать окно сохранения файла Ответ.Заголовки.Вставить("Content-Type", "application/xlsx"); Ответ.Заголовки.Вставить("Content-Disposition", "attachment; filename=" + КодироватьСтроку( "Price.xlsx", СпособКодированияСтроки.КодировкаURL)); |
|||
5
ilya Nikolaevich71
12.10.16
✎
15:20
|
спасибо большое, очень много времени сэкономили.
тема закрыта |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |