|
![]() |
#1 |
Участник
|
работа по FTP
Приветствую всех!
подскажите, есть ли у кого нибудь опыт работы с файлами из аксапты по FTP? интересует копироаение, перемещение и чтение. возможен альтернативный вариант - загрузка командной строкой к себе (там я уж могу) но не могу найти простенький клиент, чтобы без инсталяции работал (на сервер не хочется ставить лишнего). система -win 2k server, т.е. приложение ftp.exe отсутствует. никто не сталкивался? |
|
![]() |
#2 |
NavAx
|
Опыт был
|
|
|
За это сообщение автора поблагодарили: mit (1). |
![]() |
#3 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: mit (1). |
![]() |
#4 |
Участник
|
всем спасибо! то, что нужно
|
|
![]() |
#5 |
Участник
|
Ели Axapta 2009 (или 4.0), то можно использовать NET.
Там есть несколько способов. Например так (для передачи файла или получения файла) . X++: static void Job37(Args _args) { System.Net.WebClient webClient; ; new InteropPermission(InteropKind::ClrInterop).assert(); try { webClient = new System.Net.WebClient(); webClient.set_Credentials(new System.Net.NetworkCredential("Login", "Password")); webClient.UploadFile("ftp://servername/path/", "c:\\testFile.dat"); webClient.DownloadFile("ftp://servername/path/", "c:\\somefILE.dat"); webClient.Dispose(); } catch (exception::CLRError) { error(AifUtil::getClrErrorMessage()); } } |
|
|
За это сообщение автора поблагодарили: Владимир Максимов (5), Logger (3). |
![]() |
#6 |
Участник
|
Небольшое замечание по поводу работы функции webClient.UploadFile(). Эта функция не поддерживается при включенном прокси. Поэтому, надо при установке соединения с ftp явно указать, что прокси пустое (т.е. не включено). Примерно так
X++: static void Job37(Args _args) { System.Net.WebClient webClient; ; new InteropPermission(InteropKind::ClrInterop).assert(); try { webClient = new System.Net.WebClient(); // Надо явно указать пустое прокси, иначе команда UploadFile() - не поддерживается webClient.set_Proxy(new System.Net.WebProxy()); webClient.set_Credentials(new System.Net.NetworkCredential("Login", "Password")); webClient.UploadFile("ftp://servername/path/", "c:\\testFile.dat"); // Положить на ftp webClient.DownloadFile("ftp://servername/path/", "c:\\somefILE.dat"); // Скачать с ftp webClient.Dispose(); } catch (exception::CLRError) { error(AifUtil::getClrErrorMessage()); } }
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: iCloud (2). |
![]() |
#7 |
Enjoy!
|
Цитата:
Сообщение от Владимир Максимов
![]() Небольшое замечание по поводу работы функции webClient.UploadFile(). Эта функция не поддерживается при включенном прокси. Поэтому, надо при установке соединения с ftp явно указать, что прокси пустое (т.е. не включено). Примерно так
X++: static void Job37(Args _args) { System.Net.WebClient webClient; ; new InteropPermission(InteropKind::ClrInterop).assert(); try { webClient = new System.Net.WebClient(); // Надо явно указать пустое прокси, иначе команда UploadFile() - не поддерживается webClient.set_Proxy(new System.Net.WebProxy()); webClient.set_Credentials(new System.Net.NetworkCredential("Login", "Password")); webClient.UploadFile("ftp://servername/path/", "c:\\testFile.dat"); // Положить на ftp webClient.DownloadFile("ftp://servername/path/", "c:\\somefILE.dat"); // Скачать с ftp webClient.Dispose(); } catch (exception::CLRError) { error(AifUtil::getClrErrorMessage()); } } |
|
![]() |
#8 |
Участник
|
Методом "научного тыка" при помощи "такой-то матери"
![]() ![]()
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#9 |
Участник
|
Добрый день!
С записью на HTTP FTP всё ясно (правда пришлось делать через webClient.UploadFileAsync( URI, 'STOR', file );, где URI это System.Uri ), но возникает проблема перезаписи файлов или их удаления. Чем возможно ее решить? |
|
![]() |
#10 |
Участник
|
Вопрос с перезаписью снимается (так понимаю, нужно чтобы исходный файл и текущий отличались структурой). Но с удалением, по прежнему не ясно.
|
|