Копирование файла из папки с пробелом.
Добрый день всем.
Есть путь к файлу :
Пытаюсь скопировать файла оттуда в другую папку методом "КопироватьФайлы()"
Но ловлю ошибку "Ошибка копирования файлов.Каталог не обнаружен "из-за того что в "Sample Pictures" пробел.
Пытался и кавычки добавлять, и пробел на символы заменять. Ничего не выходит
Как обойти, не меняя названия папки?
1С:Предприятие 8.2 (8.2.19.130) ОФ
Есть путь к файлу :
Откуда = "C:\Users\Public\Pictures\Sample Pictures\Lighthouse.jpg";
Пытаюсь скопировать файла оттуда в другую папку методом "КопироватьФайлы()"
Но ловлю ошибку "Ошибка копирования файлов.Каталог не обнаружен "из-за того что в "Sample Pictures" пробел.
Пытался и кавычки добавлять, и пробел на символы заменять. Ничего не выходит
Как обойти, не меняя названия папки?
1С:Предприятие 8.2 (8.2.19.130) ОФ
Найденные решения
(18)К этой серверной папке у сервера 1С доступ есть?
Если есть, то:
Кнопка "Копировать" выполняет следующие действия:
Если есть, то:
Кнопка "Копировать" выполняет следующие действия:
&наКлиенте
ДвоичныеДанные = Новый ДвочиныеДанные(ИмяВыбранногоФайла);
АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
СкопироватьФайлы();
&наСервере
Процедура СкопироватьФайлы()
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = ПолучитьИЗВременногоХранилища(АдресВХранилище);
ДвоичныеДанные.Записать(ИмяВременногоФайла);
ПереместитьФайлы(ИмяВременногоФайла, "ПутьККоторомуЕстьДоступСервера1С" + "\ИмяКонечногоФайла" + ".Расширение");
КонецПроцедуры
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(18)К этой серверной папке у сервера 1С доступ есть?
Если есть, то:
Кнопка "Копировать" выполняет следующие действия:
Если есть, то:
Кнопка "Копировать" выполняет следующие действия:
&наКлиенте
ДвоичныеДанные = Новый ДвочиныеДанные(ИмяВыбранногоФайла);
АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
СкопироватьФайлы();
&наСервере
Процедура СкопироватьФайлы()
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = ПолучитьИЗВременногоХранилища(АдресВХранилище);
ДвоичныеДанные.Записать(ИмяВременногоФайла);
ПереместитьФайлы(ИмяВременногоФайла, "ПутьККоторомуЕстьДоступСервера1С" + "\ИмяКонечногоФайла" + ".Расширение");
КонецПроцедуры
Показать
(21) При выборе картинки, сделано так, что автоматически
Где ХранилищеКартинки = тип.ХранилищеЗначения и он как реквизит справочника.
Как мне использовать ХранилищеКартинки процедуре "СкопироватьФайлы()" подскажите пожалуйста!
ХранилищеКартинки = Новый ХранилищеЗначения(ВыбранноеФото, Новый СжатиеДанных());
Где ХранилищеКартинки = тип.ХранилищеЗначения и он как реквизит справочника.
Как мне использовать ХранилищеКартинки процедуре "СкопироватьФайлы()" подскажите пожалуйста!
(30)имя выбранного пользователем файла уже было использовано до чтения картинки в хранилище значения. Дальше вам нужно имя файла для сохранения. Можете использовать тоже самое имя, получив его с помощью
Файл = Новый Файл(ИмяВыбранногоПользователемФайла);
имяФайла = Файл.Имя;
(34) ДвоичныеДанные = Новый ДвоичныеДанные(ДиалогВыбораФайла.ПолноеИмяФайла);
АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные,ссылка.УникальныйИдентификатор());
Значение - "ХранилищеЗначения".
И выходит ошибка "Неправильный путь к файлу 'ХранилищеЗначения'"
АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные,ссылка.УникальныйИдентификатор());
Значение - "ХранилищеЗначения".
И выходит ошибка "Неправильный путь к файлу 'ХранилищеЗначения'"
(35)Значение должно быть строкой вида
e1cib/tempstorage/a8f1d1d3-f183-483d-a238-2c2d8f9cd74a?seanceId=02604bd5-2221-49c2-a778-983637c25475
У вас, вероятно, происходит переопределение значения АдресВХранилище по дороге до процедуры общего модуля, где вы пытаетесь по этому адресу получить данные из временного хранилища.
e1cib/tempstorage/a8f1d1d3-f183-483d-a238-2c2d8f9cd74a?seanceId=02604bd5-2221-49c2-a778-983637c25475
У вас, вероятно, происходит переопределение значения АдресВХранилище по дороге до процедуры общего модуля, где вы пытаетесь по этому адресу получить данные из временного хранилища.
Прикрепленные файлы:
(36) Даа, уже нагуглил.. Буду пробовать.
Ещё вопрос появился. Зачем на сервере выносить всё это ?
Достаточно же на сервер поместить метод "ПереместитьФайл" по идее ?
Ещё вопрос появился. Зачем на сервере выносить всё это ?
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = ПолучитьИЗВременногоХранилища(АдресВХранилище);
ДвоичныеДанные.Записать(ИмяВременногоФайла);
ПереместитьФайлы(ИмяВременногоФайла, "ПутьККоторомуЕстьДоступСервера1С" + "\ИмяКонечногоФайла" + ".Расширение");
Достаточно же на сервер поместить метод "ПереместитьФайл" по идее ?
(19)
&НаКлиенте
Процедура ПереместитьФайл(Команда)
ОбработкаОкончанияПомещения = Новый ОписаниеОповещения
("ОбработчикОкончанияПеремещения", ЭтотОбъект);
НачатьПомещениеФайла(ОбработкаОкончанияПомещения, ,
"C:\Users\Public\Pictures\Sample Pictures\Lighthouse.jpg", Ложь, ЭтотОбъект.УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ОбработчикОкончанияПеремещения(Результат, Адрес,
ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
Если Результат Тогда
ЗаписатьПолученныйФайл(Адрес, ВыбранноеИмяФайла);
Иначе
Сообщить("Файл не был помещен.");
КонецЕсли
КонецПроцедуры
&НаСервере
Процедура ЗаписатьПолученныйФайл(Адрес, ВыбранноеИмяФайла)
ИмяФайлаСостав = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ВыбранноеИмяФайла)
ИмяФайла = ИмяФайлаСостав.Имя + ИмяФайлаСостав.Расширение;
ПапкаНазначения = "<Папка назначения на сервере>";
КопироватьФайл(Адрес, ПапкаНазначения + "\" + ИмяФайла);
КонецПроцедуры
Показать
(4)Тогда вместо диалогвыборафайла следует использовать начатьпомещениефайланасервер, пример можно посмотреть тут https://infostart.ru/1c/articles/1270130/ и в обработке завершения перейти на серверную процедуру как указано в (21)
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)