本帖最后由 张云静 于 2012-4-9 09:16 编辑
图片在数据库中是以字节型数组存储的,你发上去的都是字节流。有的会只显示存储的路径。说一下ASP.NET数据库图片存储过程的实现你可能会明白
首先需要获得图片的大小,可以使用intImageSize代码实现,返回图片的类型使用ContenType属性。
最重要的事就是取得Image Stream。
我们需要一个字节型数组来存储image 内容。读取整个图片可以使用Stream对象的Read方法来实现。Read(in byte[] buffer,int offset,int count)方法有三个参数。
buffer
字节数组。此方法返回时,该缓冲区包含指定的字符数组,该数组的 offset 和 (offset + count) 之间的值由从当前源中读取的字节替换。
offset
buffer 中的从零开始的字节偏移量,从此处开始存储从当前流中读取的数据。
count
要从当前流中最多读取的字节数。
然后读取图片的内容,intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
下一步,我们要把这些内容存入到sql 表。我们将使用存储过程来完成插入图片类型和图片内容到sql 表。如果你浏览了上面的代码,你将会发现我们使用了sqldbtype.image的数据类型(datatype)。 |