gubinden@mail.ru Опубликовано 9 сентября, 2022 Поделиться Опубликовано 9 сентября, 2022 Добрый день. Пытаюсь загрузить изображение в базу MySql, в итоге загружается лишь часть изображения (в вложении слева оригинал, справа что загрузилось). Что в коде сделано неправильно? var fs:TMemoryStream; begin Im_cert.Bitmap.Assign(image); try Fauthorization.Uq.SQL.Clear; Fauthorization.Uq.SQL.Add('insert u1133772_default.certificates'); Fauthorization.Uq.SQL.Add('(id_o_u,attachment ) VALUES ( '); Fauthorization.Uq.SQL.Add('''' + id_user + ''', '); Fauthorization.Uq.SQL.Add(':image)'); fs := TMemoryStream.Create; Im_cert.Bitmap.SaveToStream(fs); Fauthorization.Uq.Params[0].LoadFromStream(fs, ftBlob); Fauthorization.Uq.ExecSQL; fs.Free; Fauthorization.Uq.Active := false; showmessage('Загружено'); Если поставить Fauthorization.Uq.Params[0].Assign(image); происходит аналогично. Если fs_on:=Tfilestream.Create(opendialog1.filename,fmOpenRead); Fauthorization.Uq.ParamByName('image').LoadFromStream(fs_on,ftBlob); То все загружается нормально, но нужно загрузить bitmap не по названию файла. Цитата Ссылка на комментарий
0 Slym Опубликовано 9 сентября, 2022 Поделиться Опубликовано 9 сентября, 2022 0. нафега лишние преобразования image? 1. Не жирно битмапы в базе? пользуй png/jpeg или в формате п.0 2. streamы надо иногда перематывать... position=0 Цитата Ссылка на комментарий
0 gubinden@mail.ru Опубликовано 11 октября, 2022 Автор Поделиться Опубликовано 11 октября, 2022 0. нафега лишние преобразования image? было сделано для проверки, думал в это дело 1. Не жирно битмапы в базе? пользуй png/jpeg или в формате п.0 пример 2. streamы надо иногда перематывать... position=0 не помогло если сделать через файл fs_on:=Tfilestream.Create(opendialog1.filename,fmOpenRead); // идет но по названию файла, нужно TBitmap Fauthorization.Uq.ParamByName('image').LoadFromStream(fs_on,ftBlob); Fauthorization.Uq.Execute; fs_on.Free; все загружается нормально Цитата Ссылка на комментарий
0 gubinden@mail.ru Опубликовано 12 октября, 2022 Автор Поделиться Опубликовано 12 октября, 2022 (изменено) 0. нафега лишние преобразования image? было сделано для проверки, думал в это дело 1. Не жирно битмапы в базе? пользуй png/jpeg или в формате п.0 пример 2. streamы надо иногда перематывать... position=0 не помогло если сделать через файл fs_on:=Tfilestream.Create(opendialog1.filename,fmOpenRead); // идет но по названию файла, нужно TBitmap Fauthorization.Uq.ParamByName('image').LoadFromStream(fs_on,ftBlob); Fauthorization.Uq.Execute; fs_on.Free; все загружается нормально загружается почему-то только 65535 байт все решилось. всем спасибо Изменено 12 октября, 2022 пользователем gubinden@mail.ru Цитата Ссылка на комментарий
Вопрос
gubinden@mail.ru
Добрый день. Пытаюсь загрузить изображение в базу MySql, в итоге загружается лишь часть изображения (в вложении слева оригинал, справа что загрузилось). Что в коде сделано неправильно?
var
fs:TMemoryStream;
begin
Im_cert.Bitmap.Assign(image);
try
Fauthorization.Uq.SQL.Clear;
Fauthorization.Uq.SQL.Add('insert u1133772_default.certificates');
Fauthorization.Uq.SQL.Add('(id_o_u,attachment ) VALUES ( ');
Fauthorization.Uq.SQL.Add('''' + id_user + ''', ');
Fauthorization.Uq.SQL.Add(':image)');
fs := TMemoryStream.Create;
Im_cert.Bitmap.SaveToStream(fs);
Fauthorization.Uq.Params[0].LoadFromStream(fs, ftBlob);
Fauthorization.Uq.ExecSQL;
fs.Free;
Fauthorization.Uq.Active := false;
showmessage('Загружено');
Если поставить Fauthorization.Uq.Params[0].Assign(image); происходит аналогично.
Если
fs_on:=Tfilestream.Create(opendialog1.filename,fmOpenRead);
Fauthorization.Uq.ParamByName('image').LoadFromStream(fs_on,ftBlob);
То все загружается нормально, но нужно загрузить bitmap не по названию файла.
Ссылка на комментарий
3 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.