图片存入数据库变小了? ( 积分: 200 )

  • 主题发起人 主题发起人 sky1000
  • 开始时间 开始时间
S

sky1000

Unregistered / Unconfirmed
GUEST, unregistred user!
一图片文件,通过查看属性大小是27K,但存入数据库(ORACLE),用BLOBSIZE大小是6119,小于是10K,不知是什么原因?
 
那你看看取出来是不是对就知道了啊。只要能够还原就好。
 
没有压缩过,不会小吧.给出化工厂看看
 
数据库本身就会对图像进行压缩存储的吧
 
例如:<br>&nbsp;&nbsp;&nbsp;要将图片保存到数据库,图片大小不变<br>1、设计界面如图所示&nbsp;SQLSERVER里的图片的字段为:image,access里的图片的字段为:OLE&nbsp;对象<br>2、快捷菜单的具体代码如下:<br>&nbsp;&nbsp;载入图片:<br>procedure&nbsp;TForm1.N4Click(Sender:&nbsp;TObject);<br>begin<br>if&nbsp;ADOQUERY1.State&nbsp;in&nbsp;[dsedit,dsinsert]&nbsp;then<br>begin<br>if&nbsp;OpenPictureDialog1.Execute&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;DBIMAGE1.Picture.LoadFromFile(OpenPictureDialog1.FileName);<br>&nbsp;&nbsp;&nbsp;&nbsp;DBIMAGE1.CopyToClipboard;<br>&nbsp;&nbsp;&nbsp;&nbsp;ADOQUERY1.Edit;<br>&nbsp;&nbsp;&nbsp;&nbsp;DBIMAGE1.PasteFromClipboard;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>end&nbsp;else&nbsp;messagedlg('记录集不可写!',mtError,[mbOk],0);<br>end;<br><br>&nbsp;&nbsp;复制图片:<br>procedure&nbsp;TForm1.N1Click(Sender:&nbsp;TObject);<br>begin<br>DBIMAGE1.CopyToClipboard;<br>end;<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;粘贴图片:<br>procedure&nbsp;TForm1.N2Click(Sender:&nbsp;TObject);<br>begin<br>DBIMAGE1.PasteFromClipboard;<br>end;<br>&nbsp;&nbsp;&nbsp;删除图片:&nbsp;&nbsp;//要在adoquery1里选中字段&nbsp;注意ADOQUERY1DSDesigner2&nbsp;的位置<br>procedure&nbsp;TForm1.N3Click(Sender:&nbsp;TObject);<br>begin<br>if&nbsp;messagedlg('是否要清除该图片!',mtConfirmation,[mbYes,mbNo],0)=mrYes&nbsp;then<br>&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;if&nbsp;ADOQUERY1.State&nbsp;in&nbsp;[dsedit,dsinsert]&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ADOQUERY1DSDesigner2.Clear<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;messagedlg('该记录处于非可写状态!请置于编辑状态再重试!',mtError,[mbOk],0);<br>&nbsp;&nbsp;&nbsp;end;<br>end;<br><br>这样就不变小了,图片原来是什么就是什么
 
后退
顶部