|
Как передать картинку с мобильного приложения | ☑ | ||
---|---|---|---|---|
0
Vvvvv
10.09.18
✎
15:05
|
Возник вопрос, как передать картинку с мобильного приложения, в рабочую базу.
Картинка будет получаться в камеры телефона. Интересует как возвращаться? На данный момент мобильное приложение обращается к рабочей базе через http сервис. Если как текст передать, я имею представления, но как картинку, даже не представляю еще? |
|||
1
s03
10.09.18
✎
15:08
|
также как и любой другой файл, передавай как самые обычные двоичные данные, например, а при получении собирай обратно в картинку
|
|||
2
Vvvvv
10.09.18
✎
15:28
|
(1) Значит картинку шифрую в двоичные данные и передаю в другую базу через http соединие
|
|||
3
Vvvvv
11.09.18
✎
16:46
|
Нужна помощь.
На мобильном приложении через камеру сделал фото, получил двоичные данные этой фотографии Дальше не могу понять как отправить в каком формате и соответсвенно как принять файл? |
|||
4
arsik
гуру
11.09.18
✎
16:52
|
base64
|
|||
5
Vvvvv
11.09.18
✎
16:53
|
(4) по подробнее
|
|||
6
arsik
гуру
11.09.18
✎
16:53
|
||||
7
Пуля
11.09.18
✎
16:54
|
Отправь на почту или фтп, и читай оттуда.
|
|||
8
DmitrO
11.09.18
✎
17:36
|
(3)С мобильного девайса делаем POST запрос, в тело запроса закидываем двоичные данные картинки методом HTTPЗапрос.УстановитьТелоИзДвоичныхДанных().
На сервере получаем тело запроса HTTPСервисЗапрос.ПолучитьТелоКакДвоичныеДанные(). |
|||
9
Vvvvv
11.09.18
✎
18:26
|
(4) при передаче через http сервис, этот метод не подходит, т.к. обрезаются символы
(8) не сочти за наглость, но есть конкретный пример? |
|||
10
icipher
11.09.18
✎
21:02
|
Фото = СредстваМультимедиа.СделатьФотоснимок(ТипКамерыУстройства.Задняя, НастройкиКамеры, 90);
ДанныеИзображения = Base64Строка(Фото.ПолучитьДвоичныеДанные()); потом ДанныеИзображения в структуру, структуру в json, json в тело запроса, запрос в сервер) |
|||
11
Sasha_H
11.09.18
✎
21:07
|
только надо еще сжать хранилищем
|
|||
12
Vvvvv
11.09.18
✎
21:26
|
(10) В примере
ДанныеИзображения = Base64Строка(Фото.ПолучитьДвоичныеДанные()); ДанныеИзображения - будет длинная строка при передаче через http сервис, строка обрежется до какого то числа символов. Структура в json, это тоже текстовое представление будет |
|||
13
Sasha_H
11.09.18
✎
21:43
|
&НаСервереБезКонтекста
Функция СериализоватьДанные(Объект) //Если Объект.Количество() = 0 Тогда Возврат "" КонецЕсли; ХДТО = СериализаторXDTO.ЗаписатьXDTO(Объект); хмл = Новый ЗаписьXML; хмл.УстановитьСтроку(); ФабрикаXDTO.ЗаписатьXML(хмл,ХДТО); РезХМЛ = хмл.Закрыть(); Возврат РезХМЛ; КонецФункции ПакетХМЛ = СериализоватьДанные(Соединения); СжатыйПакетХДТО = Новый ХранилищеЗначения(ПакетХМЛ, Новый СжатиеДанных(9)); //Отправка SOAP-запроса Попытка Ответ = СтруктураДанных.ВСПрокси.Exchange(ФабрикаXDTO.Создать(СтруктураДанных.ТипыXDTO[0], IMEI), ФабрикаXDTO.Создать(СтруктураДанных.ТипыXDTO[1], СериализоватьДанные(СжатыйПакетХДТО))); Исключение Сообщить(ОписаниеОшибки()); Возврат Ложь; КонецПопытки; //на приемнике Функция ДесериализоватьДанные(XML) Чтение = Новый ЧтениеXML; Чтение.УстановитьСтроку(XML); Данные = СериализаторXDTO.ПрочитатьXML(Чтение); Чтение.Закрыть(); Возврат Данные; КонецФункции ОбменПоНастройке = ДесериализоватьДанные(Struct); Если ТипЗнч(ОбменПоНастройке) = Тип("ХранилищеЗначения") Тогда ДанныеХранилища = ОбменПоНастройке.Получить(); ОбменПоНастройке = ДесериализоватьДанные(ДанныеХранилища); КонецЕсли; |
|||
14
Юрий Лазаренко
11.09.18
✎
21:49
|
(12) Ты наверно get-запросом передаешь, он обрезается. Передавай post-запросом.
|
|||
15
Sasha_H
11.09.18
✎
21:52
|
Здесь пример того как вообще весь пакет обмена обворачивается и сжимается
|
|||
16
Sasha_H
11.09.18
✎
21:53
|
что значительно экономит пакет передаваемых данных в канале
|
|||
17
DmitrO
11.09.18
✎
23:58
|
(12)по умолчанию на IIS есть ограничение на размер загружаемых в запросе данных 30000000.
Этот лимит надо просто увеличить в web.config на сервере: <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="100000000" /> </requestFiltering> </security> </system.webServer> |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |