Перейти к содержанию
Fire Monkey от А до Я
  • 0

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


Dmitry Stolyarov

Вопрос

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

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

///
...
 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 пользователей онлайн

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