Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2012, 00:39   #1
wowsel
Begin'нер
Пользователь
 
Аватар для wowsel
 
Регистрация: 30.04.2010
Сообщений: 48
По умолчанию Изображение в base64

Здравствуйте, комрады! У меня ужасная проблема, в которой мне не смог помочь даже сам Google (но наверное дело во мне). Суть такова:
Отправляю файл (jpeg,jpg,bmp,png,gif) по сети, обязательные условия отправки - метод POST и изображение в base64. Как перевести изображение в base64, как перевести стройку я нашел, но тогда как перевести изображение в строку? В байтовую последовательность? В программировании не силён, подскажите пожалуйста.
wowsel вне форума Ответить с цитированием
Старый 16.05.2012, 13:52   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> В байтовую последовательность?

угу

Код:
// --  --
function bin2base64(myBinaryData: pointer; myBinaryDataSize: integer): string;
var
  data: AnsiString;
begin
  if ((nil <> myBinaryData) and (0 < myBinaryDataSize)) then begin
    //
    SetLength(data, myBinaryDataSize);
    move(myBinaryData^, data[1], myBinaryDataSize);
    //
    result := base64(data);
  end
  else
    result := '';
end;
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 16.05.2012, 14:28   #3
wowsel
Begin'нер
Пользователь
 
Аватар для wowsel
 
Регистрация: 30.04.2010
Сообщений: 48
По умолчанию

Увы, ответ мне не помог. Вопрос стоит именно как перевести файл "C://img.jpeg" в байтовую последовательность, а потом уже в base закодировать. Или может я чего не понял.
wowsel вне форума Ответить с цитированием
Старый 16.05.2012, 15:00   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> ответ мне не помог

чтобы понять ответ, нужно для начала понять вопрос )

Код:
var
  f: file;
  myBuf: pointer;
  fs: integer;
begin
  assign(f, 'C:\img.jpeg');
  reset(f, 1);
  fs := fileSize(f);
  GetMem(myBuf, fs);
  blockRead(f, myBuf^, fs);
  //
  postThis( bin2base64(myBuf, fs) ); // send base64 encoded data via HTTP POST
  //
  FreeMem(myBuf);
  closeFile(f);
end.
> Или может я чего не понял

или не захотел понять )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 16.05.2012, 15:39   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Вопрос стоит именно как перевести файл "C://img.jpeg" в байтовую последовательность
Прочитать его. Главы книг - работа с файлами.

Вы не поверите, но файл и есть байтовая последовательность.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
base64 to file Лубышев Общие вопросы Delphi 9 06.04.2011 17:06
Base64 GoldmasteR Общие вопросы Delphi 10 06.01.2011 18:37
base64 beemoto Общие вопросы Delphi 0 24.04.2010 21:58
base64 Dimarik Win Api 0 10.04.2010 18:59
base64 BlackOmen Общие вопросы Delphi 2 02.05.2008 16:30