首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

图片上传有关问题?

2012-03-08 
图片上传问题???!!在SQL里有个pic字段,类型是image,我想要实现的功能是,在delphi里使用一个控件,运行时,当

图片上传问题???!!
在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.主要代码:

Delphi(Pascal) code
{裁入图片}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; 

热点排行