|   |   | 
| 
 | 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 | 
        спасибо большое, очень много времени сэкономили.
 тема закрыта | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |