Запись файлов на Ftp

Тема в разделе "1C и всё что с ней связано", создана пользователем has, 27 дек 2010.

  1. has

    has Гость

    Вобщем вопрос в том, как записать файл то? Гуглил эту тему, но то ли я туплю, то ли пишут не понятно люди. Собственно код, соединяемся
    Код ( (Unknown Language)):
    ПроксиСервер = Новый ИнтернетПрокси;            
    ПроксиСервер.Пользователь = ПользовательПрокси;
    ПроксиСервер.Пароль = ПарольПрокси;
    ПроксиСервер.Установить("http",СерверПрокси, ПортПрокси);

    Попытка
    Сервер = Новый FTPСоединение(СокрЛП(СерверФТП),,
    СокрЛП(ПользовательФТП),
    СокрЛП(ПарольФТП),ПроксиСервер,Истина);
    Исключение
    Сообщить(ОписаниеОшибки());
    Возврат;
    КонецПопытки;
    тут все хорошо, а как скинуть файл то?
    Код ( (Unknown Language)):
    ИмяФайлаЛокального = "E:\Centr.dbf";
    ИмяФайлаФТП = "Centr.dbf";
    Попытка
    Сервер.Записать(ИмяФайлаЛокального,ИмяФайлаФТП);
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
    Ошибок нет, но и файла тоже.
     
  2. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    1с не понимает ftp через http
    Код (Text):
    ПроксиСервер.Установить("FTP",СерверПрокси, ПортПрокси);
     
  3. has

    has Гость

    Менял, толку нет
     
  4. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    Если без переменных? напрямую пропиши, заместь СерверФТП - 192.168.0.3, и остальное тоже.
    Код (Text):
    Прокси = Новый ИнтернетПрокси(Ложь);
    Соединение = Новый FTPСоединение(СерверФТП, ПортПрокси, user, pass, ПроксиСервер);
    Соединение.Записать(имя_файла_локального, имя_ф_фтп);
     
  5. has

    has Гость

    Вместо ФТП сервера указать прокси? Пробовал, тоже толку нет. Есть подозрение на то, что проблемы из-за того, что в логине имеется собака. Мож 1С както преобразует в логин@сервер, в итоге получается 2 собачки.
     
  6. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    нет.
    Код ( (Unknown Language)):
    Прокси = Новый ИнтернетПрокси(Ложь);
    Соединение = Новый FTPСоединение("192.168.0.1", "21", "user@192.168.0.1", "pass", "твой_прокси");
    Соединение.Записать("имя_файла_локального", "имя_файла_фтп");
    \

    Ну и проверьте на всяк случай, может пользователю ограничены права на запись файлов
     
  7. has

    has Гость

    чет ниче не пойму, так чтоли?
    Код ( (Unknown Language)):
    Сервер = Новый FTPСоединение("192.168.0.1",21,
    СокрЛП(Логин) + "@" + СокрЛП(СерверФТП),
    СокрЛП(Пароль),ПроксиСервер,Истина);
     
  8. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    Сделай как выше. Только поменяй user и pass. Укажи прямо в параметрах фтп_соединения прокси, имена файлов.
    Просто подставь данные, без передачи переменных в параметры, что из этого выйдет.
     
  9. has

    has Гость

    Не пускает...
    "Ошибка при вызове конструктора (FTPСоединение): Ошибка аутентификации при доступе к ресурсу: ftp://192.168.0.1:21FTP: login denied".
    Если взять первоначальный мой вариант, то соединение проходит и никаких ошибок не появляется
     
  10. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    и
     
  11. has

    has Гость

    Тотал командер же дает файлы скидывать. Сейчас взял другой фтп сервер, там логин без собаки. Коннект проходит нормально, сделал
    Код ( (Unknown Language)):
    МассивФайлов = Сервер.НайтиФайлы("/","*");
    нашел один файл с именем - "/anonymous access</h3></body></html>"
     
  12. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    Код ( (Unknown Language)):
    МассивФайлов = Сервер.НайтиФайлы("/","*.*");
    И как рабочий пример:
    Код (Text):
    Процедура Просмотреть(Кнопка)
    Сервер = Новый FTPСоединение(FTPServer);
    МассивФайлов = Сервер.НайтиФайлы("/","*.*");

    Для Каждого Файл Из МассивФайлов Цикл
    Если Файл.ЭтоФайл() Тогда
    ПолеСписка.Добавить(Файл, Файл.Имя)
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
    Если не сработает проблема с настройками фтп-сервера
     
  13. has

    has Гость

    Не, все таки я грешу на прокси. Надо будет попробовать в другом месте, без прокси. Спасибо
     
Загрузка...

Поделиться этой страницей