Имя: Пароль:
   
1C
1С v8
Облачный обмен файлами на базе 1С
0 dka80
 
27.11.18
13:22
Добрый день.

Подскажите, пожалуйста, что необходимо сделать, чтобы можно было получить файл из 1С по ссылке из браузера?
Например, я набираю в браузере http:\\домен\вебсервис\идентификатор_файла.zip
Есть веб-сервис с методом GET(ИД_Файла), который возвращает двоичные данные. Но как тогда обратиться к его методу (например, get(ИД_Файла)) из браузера?
1 Valkyrie
 
27.11.18
13:46
Веб сервис должен быть опубликован наружу. IIS или Apache
2 Rovan
 
27.11.18
13:49
(0) т.е. вопрос
Как написать в 1С базе веб-сервис возвращающий некий файл по запросу ?

http://v8.1c.ru/overview/Term_000000273.htm
http://programmist1s.ru/web-servisyi-v-1s/
3 dka80
 
27.11.18
13:53
(2) меня интересует возвращение файла по запросу из браузера.
Как получить этот файл через веб-сервис из другой 1С понятно.

Нужно чтобы я ввел адрес, а мне браузер предложил "Сохранить файл как..."
4 arsik
 
27.11.18
14:15
(3) Тебе на пехапе нужно серверную часть написать, для работы с вебсервисом. Примеров тыщи.
Или если нет доступа к серверной части, тогда на js. Тоже примеров тыщи.
5 dka80
 
27.11.18
14:19
(4) Общая идея такая: мне нужно передать большой файл клиенту, я этот файл сую в 1С Документооборот (потому, что передавать через яндекс-диск и ему подобных не кашерно), а клиенту даю ссылку.
6 Aleksey
 
27.11.18
14:28
7 arsik
 
27.11.18
14:49
(5) Ну тебе тогда нужно вебсервер обычный развернуть, которому на входе будет запрос со ссылкой. Он внутри у себя пошукает и через веб-сервис достанет по этой ссылке файл и отдаст его клиенту. Ну или не через веб-сервис, а лучше через HTTP сервис.
8 dka80
 
27.11.18
14:51
(7) вооот. Лучше http-сервис. Тем более я уже почти через него сделал ))
9 dka80
 
27.11.18
14:57
Может кому-то пригодится. Сделал через http-сервис
КодФайла = ПараметрыЗапроса.ID;
            ФайлСсылка = Справочники.Файлы.НайтиПоКоду(КодФайла);
            Если ФайлСсылка.Пустая() Тогда
                //ВызватьИсключение "File not found.";
            КонецЕсли;

            Ответ = Новый HTTPСервисОтвет(200);
            Ответ.Заголовки.Вставить("Content-Disposition", СтрШаблон("attachment; filename=""%1""", ФайлСсылка.Наименование));
            Ответ.Заголовки.Вставить("Content-Type", "application/octet-stream");
Ответ.УстановитьТелоИзДвоичныхДанных(РаботаСФайламиВызовСервера.ПолучитьДвоичныеДанныеФайла(ФайлСсылка));