![]() |
![]() |
![]() |
|
Передача файлов (фото, видео) из 1С:Mobile на серверную БД | ☑ | ||
---|---|---|---|---|
0
Cmyk32
25.03.14
✎
16:40
|
Добрый день!
Есть мобильное приложение (МП) и на сервере центральная БД 1С (ЦБД) + web-сервер. Как лучше организовать передачу файлов МП -> ЦБД? Размер файлов: от 200 кб до 5 мб. Сейчас передаю как двоичные данные - очень медленно. |
|||
1
MrJcnby
25.03.14
✎
17:10
|
Как вариант - пожертвовать качеством фото. Заметно урежет размер, и как следствие время передачи.
Сами с этим столкнулись. |
|||
2
Cmyk32
25.03.14
✎
18:47
|
(1) Урезала все + СжатиеДанных(9). Можете оценить -сколько минут/секунд у Вас занимает передача 1Мб?
Может неверно организовала передачу самого файла по веб-серверу? На мобильном приложении: ИмяВременногоФайла = ПолучитьИмяВременногоФайла(); Файл.ХранилищеЗначения.Получить().Записать(ИмяВременногоФайла); ФайлПередачи = Новый ДвоичныеДанные(ИмяВременногоФайла); ТипДвоичныеДанные = ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "base64Binary"); ДвоичныеДанные = ФабрикаXDTO.Создать(ТипДвоичныеДанные, ФайлПередачи); Попытка ФайлОбъект = Файл.ПолучитьОбъект(); ФайлОбъект.Выгружено = Прокси.DownloadPhoto(ДвоичныеДанные, Выборка.Наименование); ФайлОбъект.Записать(); Исключение КонецПопытки; На сервере: Функция DownloadPhoto(ДвоичныеДанные, Наименование) ХранилищеЗначения = Новый ХранилищеЗначений(ДвоичныеДанные); ФайлСсылка = Справочники.Файлы.НайтиПоНаименованию(Наименование); Если ФайлСсылка.Пустая() Then ФайлОбъект = Справочники.Файлы.СоздатьЭлемент(); Иначе ФайлОбъект = ФайлСсылка.ПолучитьОбъект(); КонецЕсли; ФайлОбъект.Наименование = Наименование; ФайлОбъект.ХранилищеЗначения = ХранилищеЗначения; Попытка ФайлОбъект.Записать(); Исключение Возврат Ложь; КонецПопытки; Возврат Истина; КонецФункции |
|||
3
MrJcnby
26.03.14
✎
10:38
|
Технология такая же. Тоже в преобразование в двоичные данные, передача, преобразование из двоичных данных. По скорости ( но я уверен что постоянной одинаковой скорости провайдер не дает ) - получается 1мб что-то около минуты (может быть меньше может быть чуть больше - в зависимости от связи).
|
|||
4
Адинэснег
26.03.14
✎
10:40
|
||||
5
MrJcnby
26.03.14
✎
16:13
|
(4) Хм. Как я понял вопрос стоит именно в части кода, а не в технологии соединения.
|
|||
6
Cmyk32
26.03.14
✎
17:08
|
(5) Вы правильно поняли.
(4) Затратно. |
|||
7
Cmyk32
26.03.14
✎
17:09
|
(3) Спасибо!) У нас также примерно.
|
|||
8
Serginio1
26.03.14
✎
18:26
|
Можешь попробовать передавать не как ДД а как хранилищеЗначения
v8: Работа с веб сервисом Хотя картинки сжиматься не будут. |
|||
9
Йохохо
26.03.14
✎
18:30
|
а какой размер у картинки и у base64Binary картинки?
|
|||
10
Asmody
26.03.14
✎
18:52
|
В мобильном приложении HTTPСоединение.post() доступно?
|
|||
11
Serginio1
26.03.14
✎
18:58
|
(9) wiki:Base64#MIME
Результирующие закодированные по base64 данные имеют длину, большую оригинальной в соотношении 4:3. |
|||
12
Йохохо
26.03.14
✎
19:00
|
(11) м, я думал хуже, не стал гуглить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |