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

  • Автор темы has
  • Дата начала
H

has

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

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

TimeDontWait

Well-Known Member
04.01.2010
367
0
#4
Если без переменных? напрямую пропиши, заместь СерверФТП - 192.168.0.3, и остальное тоже.
Код:
Прокси = Новый ИнтернетПрокси(Ложь);
Соединение = Новый FTPСоединение(СерверФТП, ПортПрокси, user, pass, ПроксиСервер);
Соединение.Записать(имя_файла_локального, имя_ф_фтп);
 
H

has

Гость
#5
Если без переменных? напрямую пропиши, заместь СерверФТП - 192.168.0.3, и остальное тоже.
Код:
Прокси = Новый ИнтернетПрокси(Ложь);
Соединение = Новый FTPСоединение(СерверФТП, ПортПрокси, user, pass, ПроксиСервер);
Соединение.Записать(имя_файла_локального, имя_ф_фтп);
Вместо ФТП сервера указать прокси? Пробовал, тоже толку нет. Есть подозрение на то, что проблемы из-за того, что в логине имеется собака. Мож 1С както преобразует в логин@сервер, в итоге получается 2 собачки.
 

TimeDontWait

Well-Known Member
04.01.2010
367
0
#6
Мож 1С както преобразует в логин@сервер, в итоге получается 2 собачки
нет.
Код:
Прокси = Новый ИнтернетПрокси(Ложь);
Соединение = Новый FTPСоединение("192.168.0.1", "21", "user@192.168.0.1", "pass", "твой_прокси");
Соединение.Записать("имя_файла_локального", "имя_файла_фтп");
\

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

has

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

TimeDontWait

Well-Known Member
04.01.2010
367
0
#8
Сделай как выше. Только поменяй user и pass. Укажи прямо в параметрах фтп_соединения прокси, имена файлов.
Просто подставь данные, без передачи переменных в параметры, что из этого выйдет.
 
H

has

Гость
#9
Не пускает...
"Ошибка при вызове конструктора (FTPСоединение): Ошибка аутентификации при доступе к ресурсу:
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
login denied".
Если взять первоначальный мой вариант, то соединение проходит и никаких ошибок не появляется
 
H

has

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

TimeDontWait

Well-Known Member
04.01.2010
367
0
#12
Код:
МассивФайлов = Сервер.НайтиФайлы("/","*.*");
И как рабочий пример:
Код:
Процедура Просмотреть(Кнопка) 
Сервер = Новый FTPСоединение(FTPServer); 
МассивФайлов = Сервер.НайтиФайлы("/","*.*"); 

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

has

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