如何取出数据库中的图片路径并显示在页面上

如何取出数据库中的图片路径并显示在页面上,第1张

jsp是靠加载图片路径来显示图片的,图片可以保存在项目中,也可以保存到磁盘的某个路劲下。 图片放webroot下,一般是webroot下建一个img或pic 文件夹专门存图。 jsp使用的时候 这样就可以加载到图片了。

unit Unit1interfaceuses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB,jpeg, DBCtrls, Masktype

TForm1 = class(TForm)

con1: TADOConnection

qry1: TADOQuery

img1: TImage

btn1: TBitBtn

btn2: TBitBtn

OpenDialog1: TOpenDialog

lbl1: TLabel

edt1: TEdit

lbl2: TLabel

edt2: TEdit

dbnvgr1: TDBNavigator

ds1: TDataSource

qry2: TADOQuery

img2: TImage

btn3: TBitBtn

procedure FormShow(Sender: TObject)

procedure btn1Click(Sender: TObject)

procedure btn2Click(Sender: TObject)

procedure btn3Click(Sender: TObject)

procedure dbnvgr1Click(Sender: TObjectButton: TNavigateBtn)

private

{ Private declarations }

public

{ Public declarations }

endvar

Form1: TForm1implementation{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject)

var

ms:TMemoryStream

jpg:TJPEGImage

begin

ms:=TMemoryStream.Create

jpg:=TJPEGImage.Create

jpg.Assign(img1.Picture.Graphic)

jpg.SaveToStream(ms)

ms.Position:=0

qry1.SQL.Clear

qry1.SQL.Add('Insert Into TIMG(PNAME,PINFO,PPHOTO) values(:pname,:pinfo,:pphoto)')

qry1.Parameters.ParamByName('pname').Value:=edt1.Text

qry1.Parameters.ParamByName('pinfo').Value:=edt2.Text

qry1.Parameters.ParamByName('pphoto').LoadFromStream(ms,ftBlob)

qry1.ExecSQL

jpg.Free

ms.Free

endprocedure TForm1.btn2Click(Sender: TObject)

begin

if OpenDialog1.Execute then

img1.Picture.LoadFromFile(OpenDialog1.FileName)

endprocedure TForm1.btn3Click(Sender: TObject)

var

ms:TMemoryStream

jpg:TJPEGImage

begin

if not qry2.FieldByName('PPHOTO').IsNull then

begin

ms:=TMemoryStream.Create

jpg:=TJPEGImage.Create

TBlobField(qry2.FieldByName('PPHOTO')).SaveToStream(ms)

ms.Position:=0

jpg.LoadFromStream(ms)

img2.Picture.Assign(jpg)

end

endprocedure TForm1.dbnvgr1Click(Sender: TObjectButton: TNavigateBtn)

begin

btn3.Click

endprocedure TForm1.FormShow(Sender: TObject)

begin

con1.Close

con1.ConnectionString:='Driver=Firebird/Interbase(r) driverUID=SYSDBAPWD'+

'=123456Dbname='+ExtractFilePath(Application.ExeName)+'IMG.FDB'

con1.LoginPrompt:=False

con1.Connected:=True qry2.Active:=True

//img2.DataField:='PPHOTO'

endend. 我用的是Firebird数据库,存放图片的字段名是PPHOTO,数据类型是BLOB,其他数据库应该也差不多。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9727845.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存