|
МобильныйКлиент передача файла на сервер. | ☑ | ||
|---|---|---|---|---|
|
0
Spartak13
17.06.26
✎
15:32
|
Самописная конфигурация. Есть мобильный клиент. Нужно загрузить файл на сервер с телефона. Есть такой код:
&НаСервере Функция ЗагрузитьФайлыНаСервере(Знач Адрес,Знач Расширение) Экспорт СтруктураХранения = РаботаСФайлами.ПолучитьСтруктуруВХранилище(); Если СтруктураХранения.ПолноеИмя = "" Тогда Сообщить("Не настроено хранилище"); Возврат ""; КонецЕсли; ИмяФайлаСохранения = СтруктураХранения.ПолноеИмя + Расширение; ФайлВременногоХранилища = ПолучитьИзВременногоХранилища(Адрес); ФайлВременногоХранилища.Записать(ИмяФайлаСохранения); УдалитьИзВременногоХранилища(Адрес); Файл = Новый Файл(ИмяФайлаСохранения); Если Файл.Существует() Тогда Возврат СтруктураХранения.ИмяФайла + Расширение; Иначе Сообщить("Ошибка при сохранении файла на сервере."); Возврат ""; КонецЕсли; КонецФункции &НаКлиенте Процедура ВыполнитьЗагрузку(Результат,Адрес,ПомещаемыйФайл,СтрокаДанных) Экспорт Если НЕ Результат Тогда Возврат; КонецЕсли; Файл = Новый Файл(ПомещаемыйФайл); СтрокаДанных.ИмяФайла = Файл.Имя; СтрокаДанных.ИмяФайлаВХранилище = ЗагрузитьФайлыНаСервере(Адрес,Файл.Расширение); Если СтрокаДанных.ИмяФайлаВХранилище <> "" Тогда СтрокаДанных.ЕстьОбъект = Истина; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура Добавить_ЗагрузитьФайл(Команда) ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.МножественныйВыбор = Ложь; Попытка ДиалогОткрытияФайла.Заголовок = "Выберите файл"; Исключение Возврат; КонецПопытки; ЭтаФорма.Элементы.Файлы.ДобавитьСтроку(); ПроцедураОбработки = Новый ОписаниеОповещения ("ВыполнитьЗагрузку",ЭтаФорма,Элементы.Файлы.ТекущиеДанные); НачатьПомещениеФайла(ПроцедураОбработки,,ДиалогОткрытияФайла,Истина,УникальныйИдентификатор); КонецПроцедуры На мобильном клиенте не работает при выборе файла, ссылка на файл вида content://media/external/images/media/20 и на сервер файл не передается. Подскажите куда копать. Платформа 8,3,5??? |
|||
|
1
Tatitutu
17.06.26
✎
15:53
|
ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
#Если МобильноеПриложениеКлиент Тогда ВыборФайла.Каталог = КаталогБиблиотекиМобильногоУстройства(ПредопределенноеЗначение("ТипКаталогаБиблиотекиМобильногоУстройства.Картинки")); #КонецЕсли Если ВыборФайла.Выбрать() Тогда ВыбранноеФото = Новый Картинка(ВыборФайла.ПолноеИмяФайла,Ложь); ТекущееФото = ВыбранноеФото.ПолучитьДвоичныеДанные(); СсылкаНаЛого = ПоместитьВоВременноеХранилище(ТекущееФото, Новый УникальныйИдентификатор); Иначе СсылкаНаЛого=""; КонецЕсли; возврат СсылкаНаЛого; |
| Форум | Правила | Описание | Секции | Поиск |