
数据中可以存储,但是需要注意不能直接存储,而是转换成二进制或者Base64等的“文本”来存储,在用的时候,可以再转换回来。
在网站开发中,一般将存储在文件系统中,而不是数据系统中,数据库系统中只记录在文件系统中的路径而已。
两种,一种是将转化成二进制数据流存入数据库中。一种是保存的路径,然后前台读取路径去调用。相关的代码百度一下应该会有,第二种方法实现上比较简单,就是存储路径,然后根据路径读取对应的显示出来。第一种就比较麻烦,要先把转化成二进制数据,读取时就是从数据库读取对应数据再转化成显示出来。
算了,你问这些问题真难答呢,首先你也不说是C/s程序还是B/s程序,总就一个要代码,总不成连数据库联接什么的都要写出来吧。也不知道你要的是哪一种方式,难道别人帮你还得两种都得完完整整写给你吗?
这是我以前写的你看一下不懂直接加QQ;
1、首先从文件中读取要加到数据库中的,将它转换成byte[]类型,这样就可以加到数据库中去了。
FileStream fs = new FileStream(openPicForReadFileName, FileModeOpenOrCreate, FileAccessRead);
MyData = new byte[fsLength];
fsRead(MyData, 0, ConvertToInt32(fsLength));
fsClose();
2、从数据库中读取出来并在PictrueBox中显示,用下面这种方法比较重要,如果用FileForm生成临时文件的话如果打开第二次时就会提示文件正在使用。注意一定要用MemoryStream。
byte[] readimage = new byte[0];
int piccount = DataBindTables["T_Equipment"]RowsCount;
readimage = (byte[])DataBindTables["T_Equipment"]Rows[piccount-1]["Photo"];
if (readimageLength !=0)
{
MemoryStream stmBLOBData = new MemoryStream(readimage);
picEquipmentImage = ImageFromStream(stmBLOBData);
}
3、将PictureBoxImage加到数据库中,为什么要提到这一点呢?因为在修改一条记录时可能不会修改它的图像字段,所以只能把它的显示结果重新写回去,当然也可以在Update时不修改它。
MyData = new byte[0];
MemoryStream ms=new MemoryStream();
PictureBox1ImageSave(ms,ImageFormatJpeg);
MyData = msGetBuffer();
最后将MyData写回去。
第三条的命名空间为using SystemDrawingImaging;
我们设计程序时一般不会将、音频和视频资料直接存入数据库中,这样会让数据库的体积骤大,严重影响数据库运行的效率。
一般会搭建一个多媒体服务器,支持流媒体格式处理。程序或者网站中涉及到的、音频和视频等资料会存放在流媒体服务器上,然后可以记录访问其的路径,然后把这个路径存入数据库,在你的应用系统调用时,可以通过路径结合对应的多媒体播放插件就可以实现。
以上就是关于数据库中可以存储照片么怎么存储全部的内容,包括:数据库中可以存储照片么怎么存储、数据库中怎么存放图片、SQL数据库中图片的地址如何存储的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)