Имя: Пароль:
1C
1С v8
Вопрос выгрузке файлов на FTP из 1с
0 Повелитель
 
21.04.13
17:54
Делаю массовую выгрузку картинок на сайт через ftp.
Структура каталога заранее не известна, зависит от артикула открытки.

Создаю соединение:
мФТП = Новый FTPСоединение(ipадрес,,ИмяПользователя,Пароль,,Истина);

Пишу файлы например так:

Для ИмяКаталога = 1 По 10 Цикл
мФТП.Записать("D:\222\111.jpg",   Строка(ИмяКаталога) + "\111.jpg");
КонецЦикла;

Если каталога нет, то файл не будет записан.
Просто в цикл не могу включить:
мФТП.СоздатьКаталог(ИмяКаталога);
так как каталог возможно уже есть.

Подскажите как проверить и создать каталог оптимальным способом, а то каждый ftp-метод отрабатывает по 1-2 секунде, при больших загрузках каждая лишняя проверка чего-либо на ftp, это лишние минуты загузки.

Например вот способ, но хочется оптимальный вариант:
Для ИмяКаталога = 1 По 10 Цикл
Попытка мФТП.СоздатьКаталог(ИмяКаталога); Исключение КонецПопытки;
мФТП.Записать("D:\222\111.jpg",   Строка(ИмяКаталога) + "\111.jpg");
КонецЦикла;
1 Нуф-Нуф
 
21.04.13
17:56
выгружай на фтп сторонними средствами
2 Повелитель
 
21.04.13
18:01
(1) Например какими?
3 rs_trade
 
21.04.13
18:02
(0) тебе же на каждую картинку каталог нужен? группируй картинки, перед выгрузкой группы, создавай каталог.
4 rs_trade
 
21.04.13
18:02
+(3) не на каждую картинку
5 Эмбеддер
 
21.04.13
18:04
можно запоминать, какие каталоги уже созданы
6 rs_trade
 
21.04.13
18:04
в msdn должно все быть
7 rs_trade
 
21.04.13
18:04
(6) не сюда
8 oleg_km
 
21.04.13
18:07
Можно использовать исключение.
9 Повелитель
 
21.04.13
18:09
(3)  (5) Интересные варианты, обдумать надо будет.
(8) Хотелось бы без этого.
10 Повелитель
 
21.04.13
18:13
А как вообще узнать есть каталог или нет?
11 rs_trade
 
21.04.13
18:40
(10) все доступные методы указаны в СП
12 Повелитель
 
21.04.13
19:08
Создание каталога: = 0,37 сек
мФТПКонфетти.СоздатьКаталог("tmp\222");

Поиск каталога = 0,65 секунды
МассивФайлов = мФТПКонфетти.НайтиФайлы("tmp/222",,ЛОЖЬ);
   Если МассивФайлов.Количество() > 0 Тогда
       Если МассивФайлов[0].ЭтоКаталог() Тогда
           Сообщить("Каталог найден");
       КонецЕсли;
   КонецЕсли;

Создание каталога с попыткой, тоже около 0,37 сек
Попытка мФТПКонфетти.СоздатьКаталог("tmp\222"); Исключение КонецПопытки;

НайтиФайлы и ЭтоКаталог вот что в СП нашел, еще медленне работает.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.