На андроиде выбираю картинку, возвращает картинку типа: content://media/external/...
А мне нужно получить двоичные данные чтобы передать в основное приложение.
Как можно это сделать?
Объект ДвоичныеДанные хочет ссылку типа file://..
Был вариант ставить ACODE, но только для этой единственной функции что то совсем не хочется.
Должен же быть стандартный вариант.
(7) Было подобное.. Вы картинку откуда выбираете ?
Если выбрать картинку из папки "Недавние" - он возвращает именно такую ссылку, но если выбрать эту же картинку с основной папки то вернет двоичные данные.
Например вам скинули фото на ватсап, вы посмотрели и закрыли. При открытии из приложение - эта картика будет в недавних, но основное место положение в папке WhatsappPhoto ...
(9) А вот и сама процедура выбора картинки (2 способа)
&НаКлиенте
Процедура ОбразецНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = ложь;
Путь = ВыбратьФото();
Если Путь = Неопределено тогда
возврат;
КонецЕсли;
Образец= Путь;
КонецПроцедуры
&НаКлиенте
Функция ВыбратьФото()
#Если МобильноеПриложениеКлиент Тогда
ТиповойВыборФайлов = Ложь; ///Выбор картинки средствами 1С
Если ТиповойВыборФайлов Тогда
диалог = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Если диалог.Выбрать() Тогда
Возврат диалог.ПолноеИмяФайла;
Иначе
Возврат Неопределено;
КонецЕсли;
Иначе ///Выбор картинки средствами андроид
НовВз = Новый ЗапускПриложенияМобильногоУстройства();
НовВз.Действие = "android.intent.action.GET_CONTENT";
//Указываем тип искомых файлов, нас интересует только фото
НовВз.Тип = "image/*";//"file/*"; //"*/*"
//Говорим что интересуют только локальные данные, а не облачные
НовВз.ДополнительныеДанные.Добавить("android.intent.extra.LOCAL_ONLY",Истина);
РезультатРаботы = НовВз.Запустить(Истина);
Если НЕ РезультатРаботы Тогда
Возврат Неопределено;
КонецЕсли;
ПутьКФайлу = НовВз.Данные;
возврат ПутьКФайлу;
КонецЕсли;
#Иначе
Возврат Неопределено;
#Конецесли
КонецФункции
На данный момент проблема так и не решена.
Мобильная платформа 8.3.21.26
Андроид 12
Нужно добиться чтобы работало без публикации приложения из установленной мобильной платформы через АПК.
Как только не пытался возвращает все время файл не найден.
(9) Платформа вообще не дает выбирать из файловой системы, только из картинок или папки приложения, а там только какие то мутные бэкапы.
Так что нужен способ именно content:\\media\external\images\media\.. обрабатывать
именно content:\\media\external\images\media\.. обрабатывать
Именно это ты не обработаешь, это ссылка провайдера.
Скинул 2 рабочих примера выше, Еще вариант попробовать заменить приложение для просмотра фотографий (скачать галлерею с Маркета)