|
Вопрос выгрузке файлов на 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"); Исключение КонецПопытки;
НайтиФайлы и ЭтоКаталог вот что в СП нашел, еще медленне работает.
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой