|
FTP удаление файлов | ☑ | ||
---|---|---|---|---|
0
lamme
07.03.19
✎
17:34
|
Делаю удаление файлов в цикле
т.е. есть кучка имен файлов - которые надо удалить с хоста FTP.Удалить("/"+сокрлп(НовоеИмяФ)); где НовоеИмяФ = Parts/3169d447-4c45-11e8-a198-38d54777b870_025bbb21-ac1a-11e8-a298-38d54777b870.jpg и подоные .. из 10 файлов удаляет 1-2. Остальные пишет Ошибка при вызове метода контекста (Удалить): Ошибка доступа к ресурсу. Путь не найден: /Parts/3169d447-4c45-11e8-a198-38d54777b870_025bbb21-ac1a-11e8-a298-38d54777b870.jpg/ почему ? думал - что может паузу поставить между удалениями не взлетело делал так FTP.Удалить(сокрлп(НовоеИмяФ)); не взлетело ФАЙЛ ЕСТЬ ! |
|||
1
Garykom
гуру
07.03.19
✎
17:51
|
.jpg/
в конце ничего лишнего не замечаем? |
|||
2
lamme
08.03.19
✎
08:40
|
(1)
специально для тех кто в танке - на команду удалить подается имя файла как - НовоеИмяФ = Parts/3169d447-4c45-11e8-a198-38d54777b870_025bbb21-ac1a-11e8-a298-38d54777b870.jpg без всякий окончаний .jpg/ а Ошибка при вызове метода контекста (Удалить): Ошибка доступа к ресурсу. Путь не найден: /Parts/3169d447-4c45-11e8-a198-38d54777b870_025bbb21-ac1a-11e8-a298-38d54777b870.jpg/ выдается ОписаниеОшибки() точно такие же имена файлов подаются на удаление другие и они удаляются нормально. |
|||
3
lamme
08.03.19
✎
08:40
|
(1)
думаешь - я не обратил на это внимание? |
|||
4
lamme
08.03.19
✎
08:41
|
может ли он не нахлдить файл
тк подключился по fttp а файлов на хосте - больше 10 000 т.е. он его просто не видит и надо подключаться по fttps ? |
|||
5
lamme
08.03.19
✎
08:46
|
FTPS
|
|||
6
lamme
08.03.19
✎
10:19
|
да. так и есть
FTP.НайтиФайлы - покзывает всего 9999 файлов а по факту их там гораздо больше |
|||
7
Злопчинский
08.03.19
✎
10:38
|
может на фтп кидать скрипт который там будет вертеться и удалят?
|
|||
8
d4rkmesa
08.03.19
✎
12:41
|
(6) Что-то кажется была тема с тем же вопросом. Да, не видит 1С-овский ftp-клиент 100500 файлов. С другой стороны, обязательно ли их удалять непременно из 1С? Многие юзают скрипты специальные. А запускать их можно из 1С или откуда угодно. Либо пользоваться нестандартным доступом к ftp, к примеру, тот же WinSCP через com-объект.
|
|||
9
Злопчинский
08.03.19
✎
12:43
|
а WinSCP, что, как-то иначе на фтп стучится?
|
|||
10
ДенисЧ
08.03.19
✎
12:49
|
(9) Это 1с не так стучится...
|
|||
11
d4rkmesa
08.03.19
✎
12:54
|
(9) Ну, понятно, что это может быть ограничение со стороны сервера. Однако, тот же WinSCP все же не настолько куцый, как объект 1С, в плане работы с ftp. Надо логи смотреть, иногда бывает, что это все-таки ограничение клиента.
|
|||
12
Мимохожий Однако
08.03.19
✎
12:56
|
Применить маску пробовал
НайтиФайлы(<Путь>, <Маска>, <ИскатьВПодкаталогах>) |
|||
13
Мимохожий Однако
08.03.19
✎
12:56
|
?
|
|||
14
Garykom
гуру
08.03.19
✎
14:24
|
(0) "НовоеИмяФ" откуда получаешь.
На ФТП могут быть каталоги/файлы с пробелом в конце в этом случае СокрЛП вредит. |
|||
15
АнализДанных
08.03.19
✎
14:41
|
(0) Может нет прав на удаление этих файлов со стороны ОС или фтп сервера?
|
|||
16
АнализДанных
08.03.19
✎
14:44
|
(0) А что написано в логах фтп сервера?
|
|||
17
lamme
08.03.19
✎
15:25
|
это идет процесс удаления фото товаров - которого нет на остатке
те продали НовоеИмяФ - генерю сам - по определенным правилам по этим же правилам выгружается фото из 1С |
|||
18
Garykom
гуру
08.03.19
✎
15:34
|
(17) У 1С с встроенным клиентом FTP есть некоторые проблемы, которые могут быть обострены настройками/реализацией FTP сервера.
Например запрет спецсимволов в именах файлов/каталогов (особенно типа "@") или регистрозависимость. Ограничение на длину имен файлов, причем при записи оно банально обрезается. Ну и еще куча всего. Попробуй FTP.НайтиФайлы с маской "*" и проверь все ли находит или есть ограничение. |
|||
19
Garykom
гуру
08.03.19
✎
15:37
|
Ну и важное замечание
FTP.Удалить(Путь, Маска) где Путь = "/Parts/"; Маска = "3169d447-4c45-11e8-a198-38d54777b870_025bbb21-ac1a-11e8-a298-38d54777b870.jpg"; |
|||
20
lamme
08.03.19
✎
15:50
|
18
нет. находит всего 9999 файлов из 73 000 (19) проверю - но вроде не помогало и так. но проверю еще раз |
|||
21
Garykom
гуру
08.03.19
✎
15:56
|
(20) Ты маску именно просто "*" а не "*.*" делал?
|
|||
22
Garykom
гуру
08.03.19
✎
15:58
|
(20) И да возможно реализация клиента или сервере или связки не понимает больше чем 9999 файлов ))
Ну не было в те времена таких количеств обычно в одном каталоге и/или косяк разрабов. |
|||
23
NorthWind
08.03.19
✎
16:46
|
(8) присоединяюсь. Наиболее разумным решением кажется выкидывать на сервер куда-нибудь в спецместо список файлов, которые надо удалить. А на сервере регламентом раз в период запускается скрипт, который зачитывает список... и удаляет...
|
|||
24
Garykom
гуру
08.03.19
✎
16:48
|
(23) Наиболее разумным будет реализовать http сервер на веб-сервере и там все это делать а не через древний FTP.
|
|||
25
Garykom
гуру
08.03.19
✎
16:48
|
(24) *http-сервис
|
|||
26
NorthWind
08.03.19
✎
16:54
|
(24) Если FTP настроен и работает, зачем ломать...
|
|||
27
lamme
08.03.19
✎
17:40
|
21
FTP.НайтиФайлы("/Parts/","*.jpg"); |
|||
28
lamme
08.03.19
✎
17:40
|
23
осталось понять - как такое делается я не обладаю такой магией |
|||
29
lamme
08.03.19
✎
17:46
|
19
а так FTP.Удалить(Путь, НовоеИмяФ); вообще интересно. делаю через Попытка FTP.Удалить(Путь, НовоеИмяФ); сообщить ("Удалено"); исключение сообщить (ОписаниеОшибки()); конецпопытки стою точкой остановки на сообщить ("Удалено"); а файл на месте .. а по идее - должен был удалиться ... не понимаю |
|||
30
Garykom
гуру
08.03.19
✎
17:52
|
(29) >а файл на месте
Возможно блокировки файлов на сервере, не дает удалить используемый чем то файл. |
|||
31
ДенисЧ
08.03.19
✎
17:53
|
(29) лог ftp-сервера что говорит?
|
|||
32
lamme
08.03.19
✎
18:28
|
||||
33
ДенисЧ
08.03.19
✎
18:46
|
(32) Админам такой вопрос задай, если пользуешься НЕХ
|
|||
34
NorthWind
08.03.19
✎
19:08
|
(28) а что непонятного. Вроде все очевидно. Скрипт можно сделать либо серверный, либо клиентским, в зависимости от того доступен админ сервера или нет...
|
|||
35
Garykom
гуру
08.03.19
✎
19:15
|
(34) Ага только какой к чертям скрипт если там веб хостинг (html/php) без доступа к консоли линукса.
Вполне может быть что даже из php нет доступа к файловой системе и только mysql можно использовать. |
|||
36
Garykom
гуру
08.03.19
✎
19:17
|
(32) "Web Disk" что там?
|
|||
37
Garykom
гуру
08.03.19
✎
19:18
|
(36)+ понял это WebDAV, короче попробовать через него вместо FTP
|
|||
38
NorthWind
08.03.19
✎
19:29
|
(35) тогда клиентский скрипт можно. С нормальным ftp клиентом, который все делает хорошо и быстро.
|
|||
39
lamme
08.03.19
✎
19:56
|
тея так понял
со стороны 1с - никак |
|||
40
lamme
08.03.19
✎
20:20
|
ну или все эти файлы из одной папки формировать по папкам/подпапкам
и эту структуру придумывать со стороны 1С какие есть идеи по созданию каталогов из имени файла 3169d447-4c45-11e8-a198-38d54777b870_025bbb21-ac1a-11e8-a298-38d54777b870 где имя файла - это - гуид товара _гуид хранилища значений |
|||
41
lamme
08.03.19
✎
20:22
|
файлов пока 73000
потом будет расти .. или не будет хз |
|||
42
lamme
08.03.19
✎
20:22
|
3169d447/4c45/11e8/a198/38d54777b870/025bbb21/ac1a/11e8/a298/38d54777b870/3169d447-4c45-11e8-a198-38d54777b870_025bbb21-ac1a-11e8-a298-38d54777b870.jpg
? |
|||
43
lamme
08.03.19
✎
20:23
|
те разбить так - чтобы в одном уровне не было боле 9999 файлов
|
|||
44
lamme
08.03.19
✎
20:29
|
думаю.
что гуиды настолько уникальны что будет на первом уровне 40 000 папок с именами типа /3169d447/ |
|||
45
lamme
08.03.19
✎
20:31
|
дата создания файла?
типа 01.02.2019 и тогда папки делать типа 2019/02/01/3169d447-4c45-11e8-a198-38d54777b870_025bbb21-ac1a-11e8-a298-38d54777b870.jpg |
|||
46
Garykom
гуру
08.03.19
✎
20:33
|
Сервер поменять не проще?
|
|||
47
lamme
08.03.19
✎
20:35
|
46
а что это даст? |
|||
48
lamme
08.03.19
✎
20:35
|
хостинг на https://www.nic.ru
|
|||
49
Web00001
09.03.19
✎
07:14
|
(29)Исключение сработало, но отладчик остановился на том месте где попытка, с ней такой бывает. Вообще крайне плохая практика хранить 100500 файлов в одном месте. С этим часто бывают проблемы. Раскладывать их надо по подпапкам.
|
|||
50
Garykom
гуру
09.03.19
✎
16:37
|
(48) https://firstvds.ru/products/vds_vps_hosting
тут VDS/VPS будет по цене вашего виртуального хостинга и какой надо ftp сервер можно поставить/настроить |
|||
51
Web00001
10.03.19
✎
04:27
|
(50)Тут проблема, скорее всего, в клиенте а не в сервере.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |