![]() |
|
Фото на мобильном клиенте | ☑ | ||
---|---|---|---|---|
0
MetalZOne
12.01.17
✎
11:48
|
Пишу вот так:
#Если МобильноеПриложениеКлиент Тогда ДанныеМультимедиа = СредстваМультимедиа.СделатьФотоснимок(); Если ДанныеМультимедиа <> Неопределено Тогда СоздатьНовыйФайлСервер(ДанныеМультимедиа.ПолучитьДвоичныеДанные(),ДанныеМультимедиа.РасширениеФайла,ДанныеМультимедиа.ТипСодержимого); КонецЕсли; #КонецЕсли На это строке "ДанныеМультимедиа = СредстваМультимедиа.СделатьФотоснимок();" - ошибка сохранения фотографии... что за ошибка такая? |
|||
1
mobile-1c
12.01.17
✎
12:15
|
так попробуй:
Функция ПолучитьДанныеФотоСнимка() Экспорт Данные = Неопределено; #Если МобильноеПриложениеКлиент Тогда Если СредстваМультимедиа.ПоддерживаетсяФотоснимок() Тогда ТипКамерыДанные = ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты("ТипКамеры"); Если ТипКамерыДанные = ПредопределенноеЗначение("Перечисление.ТипКамеры.Задняя") Тогда ТипКамеры = ТипКамерыУстройства.Задняя; ИначеЕсли ТипКамерыДанные = ПредопределенноеЗначение("Перечисление.ТипКамеры.Передняя") Тогда ТипКамеры = ТипКамерыУстройства.Передняя; Иначе ТипКамеры = ТипКамерыУстройства.Авто; КонецЕсли; РазрешениеВысота = ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты("РазрешениеВысота"); РазрешениеШирина = ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты("РазрешениеШирина"); пКачество = ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты("КачествоФото"); Если пКачество = 0 Тогда пКачество = 100; КонецЕсли; Если РазрешениеВысота = 0 Тогда РазрешениеВысота = 1024; КонецЕсли; Если РазрешениеШирина = 0 Тогда РазрешениеШирина = 768; КонецЕсли; Если РазрешениеВысота <> 0 И РазрешениеШирина <> 0 Тогда РазрешениеКамеры = Новый РазрешениеКамерыУстройства; РазрешениеКамеры.Высота = РазрешениеВысота; РазрешениеКамеры.Ширина = РазрешениеШирина; Данные = СредстваМультимедиа.СделатьФотоснимок(ТипКамеры, РазрешениеКамеры, пКачество); Иначе Данные = СредстваМультимедиа.СделатьФотоснимок(ТипКамеры, , пКачество); КонецЕсли; Возврат Данные; Иначе Сообщить("Данное устройство не поддерживает фотоснимок!") КонецЕсли; #КонецЕсли Возврат Данные; КонецФункции |
|||
2
ИС-2
naïve
12.01.17
✎
14:34
|
//Тут указываем путь, при чем путь должен быть доступен всем программам,
// так что временные файлы 1С не подйут ФайлКартинки = КаталогДокументов()+"MobileMKFoto.jpg"; // без замены слешей не сохраняет нормально ФайлКартинки = СтрЗаменить(ФайлКартинки,"\","/"); // делаем как бы ссылку на файл для андроида ФайлКартинки = "file://" + ФайлКартинки; НовВз = Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE"); //Обязательно указываем этот параметр, если его не указать, // тогда вам вернется привью файла в низком качестве // и находится он будет в параметрах с ключем data. НовВз.ДополнительныеДанные.Добавить("output",ФайлКартинки,"Uri"); //Если фото не сделано, то ответ будет "0" Рез = НовВз.Запустить(Истина); // а тут нормально обращение к файлу. Без этого вылетает ошибка, что файл не обнаружен ФайлКартинки = СтрЗаменить(ФайлКартинки,"file://",""); // сохраняем в справочник на смартфоне, для последующей выгрузки Фото_СохранитьСнимок(Неопределено, Новый ДвоичныеДанные(ФайлКартинки), Неопределено, Неопределено ); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |