Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.06.2010, 18:00
winner13 winner13 вне форума
Прохожий
 
Регистрация: 23.06.2010
Сообщения: 10
Репутация: 10
По умолчанию IdHTTP настолько туп что не могу понять как использовать

Здравствуйте дорогие форумчане , столкнулся с проблемой закачки нужных мне файлов конфигураций на веб сервер для резервного копирования .

Код програмы примерно следующий :

Код:
begin
   sleep(5);
   FileName := 'C:/****Setup.log';
   formData := TIdMultiPartFormDataStream.Create;
   formData.AddFile('file',fileName,'application/octet-stream');
   formData.AddFormField('param1', 'value1');
   response := idHTTP1.Post('http://локалхост/winlog.php',formData);
end;

код скрипта куда обращается программа вот такой :

Код:
<?
copy($HTTP_POST_FILES['file'],"*****Setup.log")
?>
Пробывал ещё вот так
<?
copy($File,"*****Setup.log")
?>


Подскажите кто может в чём ошибка? Почему у меня фаил с машины на сервер не копируется???


Заранее благодарен.
Ответить с цитированием
  #2  
Старый 23.06.2010, 19:25
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

а у тебя из браузера аплоадится файл нормально?
Ответить с цитированием
  #3  
Старый 23.06.2010, 20:38
winner13 winner13 вне форума
Прохожий
 
Регистрация: 23.06.2010
Сообщения: 10
Репутация: 10
По умолчанию

Нормально вроде бы, всё в ручном режиме фалы льются на сервер , почему программно на делфе реализовать не могу , хз наверно в коде ошибка где то =(
__________________
не решаемых проблем нет, есть не приятные для нас решения.
Ответить с цитированием
  #4  
Старый 24.06.2010, 03:10
winner13 winner13 вне форума
Прохожий
 
Регистрация: 23.06.2010
Сообщения: 10
Репутация: 10
По умолчанию

ааааапппп ======> =(
__________________
не решаемых проблем нет, есть не приятные для нас решения.
Ответить с цитированием
  #5  
Старый 24.06.2010, 09:23
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

абсолютно рабочий код:
http://data.cod.ru/61532
Код:
unit Unit1;

interface

uses
  IdMultipartFormData,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses IdHeaderList;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  idmultipartformdatastream: TIdMultiPartFormDataStream;
begin
  IdHTTP1.Get('http://data.cod.ru');
  idmultipartformdatastream:=TIdMultiPartFormDataStream.Create;
  idmultipartformdatastream.AddFormField('action', 'file_upload');
  idmultipartformdatastream.AddFormField('password', '');
  idmultipartformdatastream.AddFormField('description', 'testing');
  idmultipartformdatastream.AddFormField('agree', '1');
  idmultipartformdatastream.AddFile('sfile', 'c:\Downloads\background2.bmp', 'application/octet-stream');
  try
    IdHTTP1.Post('http://data.cod.ru/cabinet/upload/', idmultipartformdatastream);
  except
    if IdHTTP1.ResponseCode div 100<>3 then raise;
    Edit1.Text:='http://data.cod.ru'+IdHTTP1.Response.RawHeaders.Values['LOCATION'];
  end;
end;

end.
только я изменил TIdMultiPartFormDataStream. добавил в него еще один параметр. так что тебе нужно будет написать (в самом исходнике):
idmultipartformdatastream.AddFile('sfile', 'c:\Downloads\background2.bmp', 'application/octet-stream');

Последний раз редактировалось NumLock, 24.06.2010 в 09:26.
Ответить с цитированием
  #6  
Старый 24.06.2010, 17:57
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию

Я кажется знаю в чем проблема.

Скрипты скачивать нельзя. Если б можно было их качать то небыло бы не одного не взломаного сайта в интернете, так как было бы известны пароли и логины от баз данных а это очень плохо. Когда мы загружаем в браузере ПХП страницу, то сервер выполняет ПХП скрипт и выдает нам згенерированый ХТМЛ код.

Если ты пишешь код взаимодействия со своим сервером то вот мой вариант решения такой задачи. Пишем скрипт с возможностью обрабтки входных параметров(POST или GET). результат получаем в виде ХТМЛ кода. Например :'All systems work'. При надобности парсим ответ.

Если тебе нужно скачать файл со скриптом со своего сервера который потдерживает FTP то для этого у инди есть спец. компонент.
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
  #7  
Старый 25.06.2010, 23:52
winner13 winner13 вне форума
Прохожий
 
Регистрация: 23.06.2010
Сообщения: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
абсолютно рабочий код:
http://data.cod.ru/61532
Код:
unit Unit1;

interface

uses
  IdMultipartFormData,

..............................
только я изменил TIdMultiPartFormDataStream. добавил в него еще один параметр. так что тебе нужно будет написать (в самом исходнике):
idmultipartformdatastream.AddFile('sfile', 'c:\Downloads\background2.bmp', 'application/octet-stream');

Просто мне нужно именно не аплоадер чужой чейто заливать файлы а именно на свой сервер где я вот накатал жалкое подобие скрипта в две строчки который бы копировал файлы.Прежде чем браться переделывать расматривать на переделку твой скрипт, это со всеми типами фалов работает , или только картинки грузит ??? Я не совсем понимаю принцип работы связки просто , какие мне нужно передать кроме этих параметров ещё параметры скрипту??? =( Ещё не разу не работал с этим компонентом , и спецификации ограничиваются только синтаксисом , не каких объяснение нету что к чему.
__________________
не решаемых проблем нет, есть не приятные для нас решения.

Последний раз редактировалось winner13, 25.06.2010 в 23:57.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:14.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025