Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / отправить файл по ФТП / 25 сообщений из 38, страница 1 из 2
07.02.2018, 11:38
    #39598039
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
не могу отправить файл по ФТП !

после выполнения кода показывает ошибку времени выполнения и на сервере создается файл file.txt с нулевым размером

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
  ftp:=TIdFTP.Create(Application);
  ms:=TMemoryStream.Create;
  try
    try
     ftp.Connect ;
       AssErt(ftp.Connected);
       ftp.ChangeDir(ftp_path);
      ftp.Put('c:\file.txt','file.txt',false);
      ShowMessage('Отправлено');
    finally
      ms.Free; ftp.Free;
    end;
  except
    ShowMessage('Не получилось!');
  end;
...
Рейтинг: 0 / 0
07.02.2018, 11:44
    #39598046
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
1. Используй кнопку SRC для обёртки кода.
2. Используй Отладчик, чтобы узнать хотя бы, на какой строке ошибка.
3. Приятно, конечно, понимать, что ты нас считаешь экстрасенсами и телепатами, но здесь не Битва экстрасенсов, твой экран не виден нам и тексты ошибок отгадывать ещё не научились.

Можно, конечно, погадать немного.
Не вижу, чтобы поток читал файл, т.е. что ты отправляешь - пустой файл?
...
Рейтинг: 0 / 0
07.02.2018, 11:47
    #39598050
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
ftp.Put('c:\file.txt','file.txt',false);
Здесь зависает

отправляю не пустой файл - размер 1,16 КБ
...
Рейтинг: 0 / 0
07.02.2018, 11:53
    #39598060
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
terlalex,

1. Оформляй исходники - как исходники. Читай http://www.sql.ru/faq/faq_topic.aspx?fid=202

2. Как именно подключается программа к серверу, расскажи устройство сети на протяжении от одного комьпютера к другому. Попробуй поиграть с активным и пассивным FTP-режимами.

3. ЗА чем ты создаешь объекты ,которым нигде ни разу не пользуешься???
Код: pascal
1.
ms:=TMemoryStream.Create;
...
Рейтинг: 0 / 0
07.02.2018, 12:04
    #39598073
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
А как включить активный режим FTP ?
...
Рейтинг: 0 / 0
07.02.2018, 12:06
    #39598076
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
terlalex,

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  
   FTP.Mode:=????
   FTP.UserName:=????
   FTP.Password  :=????
   try
       FTP.Connect;
       if FTP.Connected then
         begin
              FTP.Put(........);
              FTP.Disconnect;
         end;
   except on E:Exception do
         ErrorString:=E.Message;
   end;
...
Рейтинг: 0 / 0
07.02.2018, 12:13
    #39598085
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
FTP.Mode

как установить? какие есть значения ?
...
Рейтинг: 0 / 0
07.02.2018, 12:19
    #39598090
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
terlalex,

Ошибся, по памяти писал. FTP.TransferType нужно.
...
Рейтинг: 0 / 0
07.02.2018, 12:24
    #39598096
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
FTP.TransferType

тоже пробовал , но тут не ясно
по идее, значения может принимать ftASCII и ftBinary
но не принимается ((
...
Рейтинг: 0 / 0
07.02.2018, 12:34
    #39598102
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
terlalex,

Текст ошибки покажи - тебе FTP должен сказать, что у него не так - или соединится не может или еще чего.
...
Рейтинг: 0 / 0
07.02.2018, 12:35
    #39598104
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
[dcc32 Error] Unit7.pas(144): E2003 Undeclared identifier: 'ftBinary'
[dcc32 Fatal Error] F2063 Could not compile used unit 'Unit7.pas'
...
Рейтинг: 0 / 0
07.02.2018, 12:38
    #39598108
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
terlalex,

В Uses IdFTPCommon добавь.
...
Рейтинг: 0 / 0
07.02.2018, 12:45
    #39598116
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
Оба режима пробовал
Все равно - таймаут!!!!

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 ftp:=TIdFTP.Create(Application);
  ms:=TMemoryStream.Create;
  try
    try

      ftp.Host:=ftpHost;
      ftp.Port:=ftpPort;
      ftp.Username:=ftp_login;
      ftp.Password:=ftp_password;

       FTP.TransferType := ftBinary;
 //    FTP.TransferType := ftASCII;

     ftp.Connect ;
       AssErt(ftp.Connected);
       ftp.ChangeDir(ftp_path);
       ftp.Put('c:\file.txt','file.txt',false);
      ShowMessage('Отправлено');
    finally
      ms.Free; ftp.Free;
    end;
  except
    ShowMessage('Не удачно');
...
Рейтинг: 0 / 0
07.02.2018, 13:02
    #39598126
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
terlalex,

Ну а другими FTP клиентами ты зайти на FTP можешь? Ну там FAR`ом например.
...
Рейтинг: 0 / 0
07.02.2018, 13:05
    #39598131
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
да filezilla отлично подключился !
...
Рейтинг: 0 / 0
07.02.2018, 14:07
    #39598203
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
Arioch Попробуй поиграть с активным и пассивным FTP-режимами.

binary/ascii к этому никак не относится, вообще никак

прочитай хотя бы https://ru.wikipedia.org/wiki/FTP#Соединение_и_передача_данных

если ты вообще ничего не знаешь о своей задаче, то и решить ее не сможешь


Arioch1. Оформляй исходники - как исходники. Читай http://www.sql.ru/faq/faq_topic.aspx?fid=202
...
Рейтинг: 0 / 0
07.02.2018, 14:18
    #39598211
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
а зачем вот это?

terlalexms:=TMemoryStream.Create;
...
Рейтинг: 0 / 0
07.02.2018, 14:19
    #39598215
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
terlalexftp.Put('c:\file.txt','file.txt',false);
Здесь зависает

отправляю не пустой файл - размер 1,16 КБ

Смотри логи FTP сервера.
...
Рейтинг: 0 / 0
07.02.2018, 14:21
    #39598218
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
terlalexftp.ChangeDir(ftp_path);

после этого посмотри, что возвращает
Код: pascal
1.
Ftp.RetrieveCurrentDir;



ты уверен, что сменил папку?
...
Рейтинг: 0 / 0
07.02.2018, 14:22
    #39598222
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
X11а зачем вот это?

terlalexms:=TMemoryStream.Create;

Чтобы было. Какая ж программа без утечек памяти?-)

Я к тому, что бессмысленное создание сущностей приводит к замусориванию кода как минимум.
...
Рейтинг: 0 / 0
07.02.2018, 14:35
    #39598231
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
X11,

логи, логи....

terlalexна сервере создается файл file.txt с нулевым размером

90% что он через NAT (а может быть и не один NAT) в активном режиме ломится

Надо иметь минимальное представление о задаче, которую программируешь, всё же
...
Рейтинг: 0 / 0
07.02.2018, 14:40
    #39598237
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
terlalex,

Попробуй сменить режим с активного на пассивный (или наоброт).
...
Рейтинг: 0 / 0
07.02.2018, 14:49
    #39598245
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
после

Ftp.RetrieveCurrentDir;

вернуло

'Not Connected'
...
Рейтинг: 0 / 0
07.02.2018, 14:50
    #39598247
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
режимы меняю

так FTP.TransferType := ftBinary;

и так FTP.TransferType := ftASCII;
...
Рейтинг: 0 / 0
07.02.2018, 14:55
    #39598251
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправить файл по ФТП
terlalexрежимы меняю

нет не меняешь

21173150
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / отправить файл по ФТП / 25 сообщений из 38, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]