Перейти к содержанию
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 пользователей онлайн

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