图片上传问题???!!
在SQL里有个pic字段,类型是image,我想要实现的功能是,在delphi里使用一个控件,运行时,当点击这个控件就会跳出图片上传的窗口,然后浏览到要上传的图片,确定后,图片会自动上传到程序文件夹里的image文件夹里,这个路径是动态的,也就是说不管程序弄到哪里,图片都会上传到这个文件夹里。请问应该使用什么控件,如何实现????
[解决办法]
1.动态文件夹保存是不合理的,指定一个固定的文件夹保存文件夹会好一些,不过还是帮你实现了.
2.实现如下:
1):窗体中用一个DBImage控件来显示图片,当然它的DataField属性设为pic,同时也设好它的DataSource属性.
2):添加一个OpenPictureDialog控件,用来选要裁入的图片之用的,其Filter属性设为:JPEG Image File (*.jpg)|*.jpg,而DefaultExt属性设为jpg.
3):在程序的单元中加入 uses Jpeg (即引用Jpeg).
3.主要代码:
{裁入图片}var imagejpg:TJPEGImage; //jpg图片 MyStm:TMemoryStream; Pic2:tbitmap;begin {裁入图片} if ADOQuery1.State in [dsEdit, dsInsert] then begin MyStm:=TMemoryStream.Create; Pic2:=tbitmap.Create; imagejpg:=Tjpegimage.Create; if OpenPictureDialog1.Execute then begin imagejpg.LoadFromFile(OpenPictureDialog1.FileName); Pic2.Assign(imagejpg); pic2.SaveToStream(MyStm); MyStm.Position:=0; TBlobField(adoquery1.FieldByName('pic')).LoadFromStream(MyStm); end; MyStm.Free; imagejpg.free; end;end;[code=Delphi(Pascal)]{保存的按钮}//加一个SaveDialog按件作为你动态保存文夹的位置,其Filter属性设为:JPEG Image File (*.jpg)|*.jpg,而DefaultExt属性设为jpg. if not adoquery1.FieldByName('XP').IsNull then if SaveDialog1.Execute then DBImage1.Picture.SaveToFile(SaveDialog1.FileName); adoquery1.post;