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

MySQL + Android + PHP - как добавить картинку в MySQL


ENERGY

Вопрос

Как залить с Delphi Android в базу MySql строки, я примерно понял - составляем GET запрос и вставляем строки в параметры, затем считываем их в PHP скрипте и в базу.

А вот как быть с картинкой. Как добавить картинку через PHP скрипт из программы на Android?

POST запрос? Кто нибудь делал такое уже?

Спасибо 

 

P.s. На данный момент FireDAC не поддерживает работу с MySQL из под Android. Пока только SQLite и  InterBase ToGo. Даже если в будущем будет поддерживать, многие на этом форуме рекомендуют не использовать прямое подключение к базам из под мобильных систем, а использовать прямые GET запросы к примеру к PHP скриптам. Это связано с нестабильностью интернета т.к. так интернет может часто переключаться (от вышки к вышке) и менять параметры подключения. 

Изменено пользователем ENRGY
Ссылка на комментарий

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

  • 0
  • Модераторы

картинку желательно не загружать в базу а складывать в папку на сервере (и лучше всего сжать до нужных размеров) и в базу вписать лишь путь до файла

вот мануалчик на пхп

http://php.net/manual/ru/features.file-upload.post-method.php

на delphi это просто составляем POST запрос

aURL - путь до скрипта, который будет принимать файлы
aFileName - полный путь до файла, который нужно отправить
var
  aData: TMultipartFormData;
  aHTTP: THTTPClient;
  aResp: TStringStream;
begin
  aResp := TStringStream.Create('', aEncoding);
  aData := TMultipartFormData.Create();
  aHTTP := THTTPClient.Create;
  try
    try
      aData.AddFile('image', aFileName); // на php считываем по полю image
      aHTTP.Post(aURL, aData, aResp);
      Result := aResp.DataString; // тут скрипт должен что-то вернуть о успешном принятии
    except
      Result := TmyHTTPClient.ERROR_COMMON; // генерация своей ошибки, если что-то пошло не так
    end;
  finally
    FreeAndNil(aHTTP);
    FreeAndNil(aData);
    FreeAndNil(aResp);
  end;

 

Ссылка на комментарий

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

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

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

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

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

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

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

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

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