• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Delphi Отправка Файла На Сервер Через Http (delphi)

Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,227
Баллы
155
Решение:
Код:
procedure TForm1.btn1Click(Sender: TObject);
var FileName: string;response: string;
var formData: TIdMultiPartFormDataStream;
begin
FileName := 'D:\xLog.txt';
formData := TIdMultiPartFormDataStream.Create;
formData.AddFile('myfile',fileName,'application/octet-stream');
formData.AddFormField('param1', 'value1');
response := idhtp1.Post('http://sait.ru/upload/gate.php',formData);
mmo1.Lines.Text:= response ;
formData.Free;
end;
gate.php
Код:
<?
    $myfile = $_FILES['myfile']['tmp_name'];
    $name = basename($_FILES['myfile']['name']);
    if (!file_exists($myfile))
    {
        echo "error";
    }
    else
    {
        move_uploaded_file($myfile, $name);
        echo "ok";
    }
?>
Атрибуты на папку upload 777,на gate.php 644.
После сохранения,файлы появляются в окне браузера ftp не сразу.
 
Ярослав Оффлайн

Ярослав

Homo habilis
Принятый Кодер
Регистрация
19 Апр 2015
Сообщения
52
Баллы
50
Решение:
Код:
procedure TForm1.btn1Click(Sender: TObject);
var FileName: string;response: string;
var formData: TIdMultiPartFormDataStream;
begin
FileName := 'D:\xLog.txt';
formData := TIdMultiPartFormDataStream.Create;
formData.AddFile('myfile',fileName,'application/octet-stream');
formData.AddFormField('param1', 'value1');
response := idhtp1.Post('http://sait.ru/upload/gate.php',formData);
mmo1.Lines.Text:= response ;
formData.Free;
end;
gate.php
Код:
<?
    $myfile = $_FILES['myfile']['tmp_name'];
    $name = basename($_FILES['myfile']['name']);
    if (!file_exists($myfile))
    {
        echo "error";
    }
    else
    {
        move_uploaded_file($myfile, $name);
        echo "ok";
    }
?>
Атрибуты на папку upload 777,на gate.php 644.
После сохранения,файлы появляются в окне браузера ftp не сразу.

У меня не роботает не компилируеться ошибка "[Error] Unit1.pas(30): Undeclared identifier: 'TIdMultiPartFormDataStream'"
 
Ярослав Оффлайн

Ярослав

Homo habilis
Принятый Кодер
Регистрация
19 Апр 2015
Сообщения
52
Баллы
50
а всё зароботало надо было в user дописать IdMultipartFormData;
 
Вверх Снизу