gpt4 book ai didi

mysql - 使用 MyDac(?) (delphi) 上传图像

转载 作者:行者123 更新时间:2023-11-29 16:12:33 24 4
gpt4 key购买 nike

我想创建一个选项,使用 MyDac 将 delphi(X10、android)中的图像上传到我的数据库,但我没有找到任何关于此的信息,有人可以帮助我一些想法吗?

哦!如果有人有关于如何发送图像而不需要 MyDac 的最简单的想法,我很感激

(我想要做的是一个简单的系统,可以从我的设备为 Mysql 中的专栏发送附件(JPG 和 PNG))

最佳答案

将图像字段定义为 blob 字段。根据您要存储的图片大小,选择 TINYBLOB、BLOB、MEDIUMBLOB 或 LONGBLOB (( https://dev.mysql.com/doc/refman/8.0/en/blob.html )。我在 Devart 论坛上找到了这个示例:

要在 Blob 字段中加载 JPEG 等图形文件,可以使用以下代码:

procedure TForm1.Button1Click(Sender: TObject);
var
BlobStream: tStream;
Surf: TBitmapSurface;
begin
if Image1 <> nil then
begin
Surf := TBitmapSurface.Create;
Surf.Assign(Image1.Bitmap);
BlobStream := TMemoryStream.Create;
if not TBitmapCodecManager.SaveToStream(BlobStream, Surf, '.jpg') then
raise EBitmapSavingFailed.Create('No');
BlobStream.Position := 0;
myquery2.ParamByName('imagem').LoadFromStream(BlobStream, ftBlob);
myquery2.ExecSQL;
Surf.Free;
end;
end;

要将数据从 Blob 字段加载到 TImage 组件,请使用以下代码:

procedure TForm1.Button2Click(Sender: TObject);
var
BlobStream: TStream;
begin
BlobStream := TMemoryStream.Create;
myquery1.GetBlob(myQuery1.FieldByName('imagem')).SaveToStream(BlobStream);
Blobstream.Position := 0;
Image2.bitmap.loadfromstream(blobstream);
BlobStream.Free;
end;

关于mysql - 使用 MyDac(?) (delphi) 上传图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55128627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com