文件可以以FTP方式存储在服务器上,通过FTP上传和下传

解决方案 »

  1.   

    这样的问题我遇到过。可以用JPEF,GIF,直接保存到数据库中,Delphi对JPEG有支持,GIF用最优秀的Gif组件TGifImage(www.jedi.com)来处理。用TBlobStream
      

  2.   

    直接存到数据库?
    可是只能存bmp呀
      

  3.   

    数据类型用Text,应该都可以吧?
      

  4.   

    我用下面的方法存不进去
    graphic1:=Tgraphic.Create;graphic1.LoadFromFile(openpicturedialog1.filename);
    table1.Edit;
    table1.FieldByName('picture').assign(graphic1);
    table1.post;// 出错
    graphic1.free;
      

  5.   

    当然出错,你要指定它为BLOB型的,一般这样用:
    TBlobField( table1.FieldByName( 'picture' ) ).LoadFromFile( OpenPictureDialog1.FileName );
    或者用TBlobStream,不过不如这个好用,看看帮助吧。
      

  6.   

    to Raptor(猛禽) 
    我用了你的方法,可是当我存一个*.ico文件时 出错:bitmap image is not valid 
      

  7.   

    而且如果图象过大 还会出这样的错误: invalid blob length
      

  8.   

    做一个上传组件(流文件),上传到SERVER不就行了,再在数据库里记下他的路径和文件名。
      

  9.   

    看你的意思,是不是你的数据库用的是Paradox?Paradox中有一种Graphic字段专存Bitmap。可能你需要改一下字段类型(OLE)。
    至于Blob的大小,如果你用Post方式保存的话,应该不能超过32K,BDE中设置的。你可以用下列方法:
    var Query1: TQuery;
    // 略去了创建过程
    Query1.SQL.Text := 'update people set photo=:photo where id='+ID;
    Query1.Params[0].LoadFromFile( sFileName, ftBlob ); // 注意ftBlob可能要换成其它的值
    Query1.ExecSQL;
      

  10.   

    不是 是access,以后很可能 会移植到sql server
      

  11.   

    我用了 下面的 方法 可以将 图片存到库里
    是通过ado连接的,但是如果是用Ttable或Tquery 受长度限制!!!!procedure TForm1.Button1Click(Sender: TObject);
    varbitmap:Tbitmap;begin
     if openpicturedialog1.Execute then
        image1.picture.loadfromfile(openpicturedialog1.filename);Bitmap:=TBitmap.create;
     Bitmap.Height:=image1.Picture.height;
     Bitmap.Width :=image1.Picture.Width; //Icono.Width;
     Bitmap.Canvas.Draw(0, 0,image1.Picture.Graphic);adotable1.Edit;
     TBlobField( adotable1.FieldByName( 'picture' ) ).assign(BITMAP);
     
    adotable1.post;bitmap.freeend;
      

  12.   

    对单机版可以但是 对 server +pc 就 很麻烦
      

  13.   

    在Sql Server 中可以使用Image类型字段存放图片流。将图片文件转成流,并在流的前面加上几位(比如3位)标识图片类型(如bmp,ico,jpg等)后,存入数据库。在显示图片时,先将图片流取出,读出前三位判断其图片类型,再用相应图片变量(TBitmap,TICon等)存储剩余的流并将之显示即可。如果需要我可以给你提供例子。
      

  14.   

    to ameng007(阿门) 好呀,太谢谢你了[email protected]