Перейти к содержанию
  • 0
Dmitry Stolyarov

HTTP отправка Image на сервер в формате stream

Вопросы

Подскажите, пытаюсь выгрузить на сервер картинку в формате потока.

ничего не получается, что не так?

///
...
 mStream := TMemoryStream.Create;
 bitmaptmp.SaveToStream(mStream);
 mStream.Position := 0;
 SendImgStream(Url, mStream);
///

function TfmMain.SendImgStream(const Url: string; const FileName: TStream): Boolean;
var
 lHttp: THTTPClient;
 lSendData: TMultipartFormData;
 lResponse: IHTTPResponse;
begin
 Result := false;
 lHttp := THTTPClient.Create;
 lSendData := TMultipartFormData.Create;
 with lHttp do
  try
   try 
    lSendData.AddStream('userfile', FileName);
    lResponse := lHttp.Post(Url, lSendData);
    Result := lResponse.StatusCode = 200;
   except
    on E: exception do
     ShowMessage('Ошибка сети: '+E.Message);
   end;
  finally
    FreeAndNil(lHttp);
    FreeAndNil(lSendData);
  end;

end;

на сервере:

$dir = 'files/ID_'.$pIDPartner.'/ImgFromLesson';
if(!file_exists($dir)) 
 mkdir($dir, 0777, true);

$newfilename = md5(strtotime('now')).'_'.md5($_FILES['FileField']['tmp_name']).'jpg';

if (move_uploaded_file($_FILES["userfile"]["name"], $dir."/". $newfilename)) {
  // mysqli_query($DBLink, $query);
} else {
    print "There some errors!";
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0
В 08.03.2020 в 06:10, Dmitry Stolyarov сказал:

ничего не получается, что не так?

обычно ничего не получается сопровождается текстом: 'Ошибка сети: '+E.Message или lResponse.StatusCode

Почувствуй разницу:
у мена ошибка с текстом " " в строке n, снифаю - все уходит но не сервер не сохраняет, помогите мне,
ой все! ничего не работает! вот мой высер, доделайте за меня... ну че, слабаки! не могете?

Отредактировал Slym

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Сначала пишем серверную часть - загрузка сохранения файла на любимом языке. Потом тестируем серверную часть - бросаем на сервер страничку с формой загрузки. Убеждаемся что все работает в браузере.

И только после этого пишем клиента...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...