|
МП, выбор картинки возвращает content://media/external, как получить файл? | ☑ | ||
---|---|---|---|---|
0
vladnet
30.05.22
✎
13:10
|
На андроиде выбираю картинку, возвращает картинку типа: content://media/external/...
А мне нужно получить двоичные данные чтобы передать в основное приложение. Как можно это сделать? Объект ДвоичныеДанные хочет ссылку типа file://.. |
|||
1
Aleksey
30.05.22
✎
13:12
|
релиз последний? https://forum.infostart.ru/forum92/topic170966/
|
|||
2
vladnet
30.05.22
✎
13:15
|
(1) Достаточно новый: 8.3.16
Я ту ссылку конечно видел. Но проблема в том что там не понятно как ресолвить путь в релизе выше 10. А ставить ACODE только для этой единственной функции что то совсем не хочется. |
|||
3
Garykom
гуру
30.05.22
✎
13:29
|
через httpсоединение уже пробовал дернуть?
|
|||
4
vladnet
30.05.22
✎
13:31
|
(3) А это как? Я двоичные данные получить не могу( Передать файл то без проблем.
|
|||
5
Garykom
гуру
30.05.22
✎
13:35
|
(4) у тебя есть uri
и ты не попробовал сделать HTTP GET? |
|||
6
vladnet
30.05.22
✎
13:51
|
(5) Странно если сработает, но попробую.
|
|||
7
Garykom
гуру
30.05.22
✎
14:01
|
Еще попробовать КопироватьФайл() в темп
|
|||
8
vladnet
30.05.22
✎
16:05
|
(3) По моему нечего и пытаться, это же совсем про другое
(7) Не работает к сожалению. |
|||
9
ДНН
30.05.22
✎
16:19
|
(8) КопироватьФайл должно работать. Первый параметр content://media/external/..., второй файл в любом временном каталоге. А потом из временного каталога создавай двоичные данные.
Если нужно получить имя файла как он называется в библиотеки, то: ФайлОбъект = Новый Файл(ТутПутьСcontent); ИмяФайла = ФайлОбъект.ПолучитьПредставлениеФайлаБиблиотекиМобильногоУстройства(); |
|||
10
vladnet
30.05.22
✎
18:05
|
(9) Сделал
лФайл=Новый Файл(пИмяФайла); лИмяФайла2=лФайл.ПолучитьПредставлениеФайлаБиблиотекиМобильногоУстройства(); Сообщить("!"+Символы.ПС+пИмяФайла+"!"+Символы.ПС+лИмяФайла+"!"); лИмяФайла2=ПолучитьИмяВременногоФайла("jpg"); КопироватьФайл(пИмяФайла, лИмяФайла2); ====================== лИмяФайла2 возвращает пустое значение. На кпоироватьфайл выдает ошибку: Файл не обнаружен 'content:\\media\external\images\media\591' по причине: Ошибка копирования файлов по причине: Файл не обнаружен 'content:\\media\external\images\media\591' |
|||
11
vladnet
31.05.22
✎
10:46
|
up, проблема так и не решена ((
|
|||
12
Garykom
гуру
31.05.22
✎
10:54
|
(11) потому что кто то пипипи
ибо у тебя в (10) нубский говнокод лИмяФайла2=лФайл.ПолучитьПредставлениеФайлаБиблиотекиМобильногоУстройства(); Сообщить("!"+Символы.ПС+пИмяФайла+"!"+Символы.ПС+лИмяФайла+"!"); лИмяФайла != лИмяФайла2 |
|||
13
vladnet
31.05.22
✎
12:28
|
(12) это я когда сюда копировал изменил, мой косяк.
На самом деле код такой: лФайл=Новый Файл(пИмяФайла); лИмяФайла=лФайл.ПолучитьПредставлениеФайлаБиблиотекиМобильногоУстройства(); Сообщить("!"+Символы.ПС+пИмяФайла+"!"+Символы.ПС+лИмяФайла+"!"); При этом лИмяФайла пустое. Запуск идет через платформу на андроиде. Возможно проблема в том что андроид 11, там что то добавляли с безопасностью файлов. |
|||
14
vladnet
31.05.22
✎
12:30
|
Попробую новую платформу МП скачать. Может она решит проблему.
|
|||
15
Garykom
гуру
31.05.22
✎
12:36
|
в МП 1С косяков достаточно много, особенно на устаревших или сильно новых версиях
|
|||
16
ДедМорроз
01.06.22
✎
00:04
|
Насколько я помню,как раз двоичные данные из ссылки типа content должны создаваться.
НачатьСозданиеДвоичныхДанных какую ошибку возвращает ? |
|||
17
vladnet
07.06.22
✎
18:35
|
(16) возвращает файл не найден content://media/external/...
|
|||
18
ДедМорроз
07.06.22
✎
18:55
|
А файл точно есть?
Просто,бывает так,что мини-ихображение есть и оно выбирается,а самого файла уже нету. |
|||
19
ДедМорроз
07.06.22
✎
18:56
|
Ну и права на доступ к хранилищу контента должны быть,если их нету,то нету и файлов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |