Dmitry Stolyarov Опубликовано 7 марта, 2020 Опубликовано 7 марта, 2020 Подскажите, пытаюсь выгрузить на сервер картинку в формате потока. ничего не получается, что не так? /// ... 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 Dmitry Stolyarov Опубликовано 17 марта, 2020 Автор Опубликовано 17 марта, 2020 Друзья, неужели никто не поможет? Цитата
0 Slym Опубликовано 18 марта, 2020 Опубликовано 18 марта, 2020 (изменено) В 08.03.2020 в 06:10, Dmitry Stolyarov сказал: ничего не получается, что не так? обычно ничего не получается сопровождается текстом: 'Ошибка сети: '+E.Message или lResponse.StatusCode Почувствуй разницу: у мена ошибка с текстом " " в строке n, снифаю - все уходит но не сервер не сохраняет, помогите мне, ой все! ничего не работает! вот мой высер, доделайте за меня... ну че, слабаки! не могете? Изменено 18 марта, 2020 пользователем Slym Barbanel и Евгений Корепов 2 Цитата
0 Евгений Корепов Опубликовано 19 марта, 2020 Опубликовано 19 марта, 2020 Сначала пишем серверную часть - загрузка сохранения файла на любимом языке. Потом тестируем серверную часть - бросаем на сервер страничку с формой загрузки. Убеждаемся что все работает в браузере. И только после этого пишем клиента... Цитата
Вопрос
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!"; }
3 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.