Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Оптимизация передачи файлов между клиентом и сервером

Оптимизация передачи файлов между клиентом и сервером
Я
   Adept
 
11.04.17 - 10:05
Есть файлики которые надо таскать с клиента на сервер, меняются не често, но и в базу их сохранять особого смысла нет. Решил сохранять адрес в хранилище, в параметре сеанса, и потом использовать данные из  временного хранилища. Соответственно сеанс перезапустил - файлики подтянулись новые, работаешь в текущем сеансе - берешь из адреса в хранилище. Заметил странную вещь, время вызова с клиента на сервер практически не изменилось, такое ощущение что 1с - ка все равно тянет внутренность хранилища на сервер. Вот пример процедуры.
Может что то не так делаю(?именно с этим решением, в справочник я знаю как затянуть)



Функция ЗагрузиьтьДанныеВоВременноеХранилище(МассивСсылок) Экспорт
    АдресВХранилище = Тесты.ПолучитьАдресТестовогоНабора();
    Если  НЕ ЗначениеЗаполнено(АдресВХранилище)  Тогда
        КаталогСФайлами = Тесты.ПолучитьКаталогСДанными();
        ИменаФайловНеобходимыхДанных = ТестыКлиентСервер.ПолучитьИменаФайловНеобходимыхДанных(МассивСсылок);
        
        СоответствиеДД = Новый Соответствие;
        Для Каждого текФайл Из ИменаФайловНеобходимыхДанных Цикл
            СоответствиеДД.Вставить(текФайл,Новый ДвоичныеДанные(КаталогСФайлами+текФайл));
        КонецЦикла;
        
        АдресВХранилище = ПоместитьВоВременноеХранилище(СоответствиеДД, Новый УникальныйИдентификатор);
        Тесты.УстановитьАдресТестовогоНабора(АдресВХранилище);
        
    КонецЕсли;
    Возврат АдресВХранилище
КонецФункции
 
 
   zak555
 
1 - 11.04.17 - 10:15
Зачем файл на сервере
   Adept
 
2 - 11.04.17 - 10:19
(1) Большой, таскать туда сюда каждый раз долго
   sFAQer
 
3 - 11.04.17 - 10:27
(2) Зачем он впринципе там?
   Adept
 
4 - 11.04.17 - 10:30
(3) Данные из него нужны, это выгрузка из базы на клиенте, для сверки
   sFAQer
 
5 - 11.04.17 - 10:59
(4) Ну так данные и передавай на сервер, файл там на кой?
   Adept
 
6 - 11.04.17 - 11:01
(5) Файл не данные?
   spiller26
 
7 - 11.04.17 - 11:24
Попробуй сделать через временные файлы на сервере.

    ПутьВременногоФайлаНаСервере = ПолучитьИмяВременногоФайла();
    ДвоичныеДанные = ПолучитьИзВременногоХранилища(Объект.ИмяФайлаНаКлиенте);    
    ДвоичныеДанные.Записать(ПутьВременногоФайлаНаСервере);
...
        УдалитьФайлы(ПутьВременногоФайлаНаСервере);

это для одного, для толпы файлов, можешь создать им каталог на сервере.
   Adept
 
8 - 11.04.17 - 11:32
(7) уже тогда проще регистр, временные файлы чистить надо ...
   H A D G E H O G s
 
9 - 11.04.17 - 11:36
(8) Конечно проще и нужнее регистр. Ты еще спрашиваешь.
   Adept
 
10 - 11.04.17 - 11:39
(9) оно то да, но не понятно  пчему при каждом обмене с сервером идет синхронизация хранилища, при том что ни оно не менялось ни адрес не менялся в этом хранилище
 
 Рекламное место пустует
   shpioleg
 
11 - 11.04.17 - 11:53
Я у себя так сделал. Предварительно на клиенте зипую большой файл во временный, создаю двоичные данные, удаляю временный файл, двоичные данные передаю на сервер параметром функции.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует