我的代码procedure TFrm_lookAtt.SetImagePhoto(FieldName: String;Bolb: TMemoryStream);
var
  AJPEG: TJpegImage;
begin
  Image1.Hide;
  with DataModule1.Query_Tmp do
  begin
    close;
    sql.clear;
    sql.Text := 'Select ' + FieldName + ' from e_Photo where Photo_ID = :ID';
    ParamByName('id').Value := PhotoCode;
    open;
    if not FieldByName(FieldName).isNull then
    begin
      Bolb := TMemoryStream.Create;
      TBlobField(FieldbyName(FieldName)).SaveToStream(Bolb);
      AJpeg := TJpegImage.Create;
      Bolb.Position := 0;
      AJpeg.LoadFromStream(Bolb);  ←总是在这里报错的
      Image1.Picture.Bitmap.Assign(AJpeg);
      Image1.Refresh;
      Image1.Show;
      Bolb.Free;
      AJpeg.Free;
    end
    else
    begin
      Image1.Picture.Bitmap.Assign(nil);
    end;
  end;
end;

解决方案 »

  1.   

    JPEG error #52 - File is not a JPEG file文件格式處理有問題
      

  2.   

    不可能呀,我在数据库中存的就是jpeg格式的文件呀jpeg和jpg 的文件是否是一样的呢?
      

  3.   

    jpg的文件格式有问题,用photoshop打开再保存一下,看看会不会有问题?
      

  4.   

    不是吧,还要转换吗?JPG和JPEG的格式不一样吗?
      

  5.   

    你的数据库中的图片是不是jpg的?如果是的话那就不行了,jpeg类只支持扩展名为jpeg的文件