请问一个jpeg图像在数据库中的存储问题!
我想往SQL Server数据库中写入jpeg格式的图像,并在DBImage中显示,不知道有没有方法可以直接从jpeg文件写入,好像都要借助于bitmap来转换?我的代码如下,编译能通过,但是运行选择jpeg图片,存储时报错:Bitmap Image is not valid。
请问各位大虾有没有什么解决办法,最好是能从jpeg直接写入?
//将bitmap图片以jpeg格式存储到SQL Server中
std::auto_ptr<Graphics::TBitmap> bitmap(new Graphics::TBitmap);
bitmap->LoadFromFile(Edit1->Text); //指定选择的bitmap图片
std::auto_ptr<TJPEGImage> jpeg(new TJPEGImage);
jpeg->Assign(bitmap.get());
std::auto_ptr<TMemoryStream> stream (new TMemoryStream);
jpeg->SaveToStream(stream.get());
stream->Position = 0;
ADOTable1->Open();
ADOTable1->Append();
ADOTable1->FieldByName("PicName")->Value = str; //str为图片的名字
((TBlobField *)ADOTable1->FieldByName("Picture"))->LoadFromStream(stream.get());
ADOTable1->Post();