VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 657|回复: 2

[菜鸟求助]请帮忙看一段关于从数据库读取图片的代码

[复制链接]

5

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-1-19 13:20:01 | 显示全部楼层 |阅读模式
以下是显示图片的代码:

1 object result = cmd.ExecuteScalar();
2 Stream stream = new MemoryStream((byte[])result);
3 const int buffersize = 1024 * 16;
4 byte [] buffer = new byte [buffersize];
5 int count = stream.Read(buffer,0,buffersize);
6 while (count > 0)
7{
8     Response.OutputStream.Write(buffer, 0, count);
9     count = stream.Read(buffer, 0, buffersize);
10}

请问第3行 为什么要用常量buffersize=1024 * 16 呢?

如果哪位大哥有时间的话,能否多一点帮我讲讲这段代码的含义呢?比如第2行我也不是很懂啊.

或者还有别的什么办法可以实现把数据库里的图片(image类型)显示出来呢?

谢谢谢谢,感激不尽!~


回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-27 21:09:02 | 显示全部楼层
//将result转换为一个二进制字节数组,并创建一个stream
            stream = new MemoryStream((byte[])result);
           
            const int buffersize = 1024 * 16;
            byte[] buffer = new byte[buffersize];
           
            //将照片内容写入到二进制字节数组Buffer中
            int count = stream.Read(buffer, 0, buffersize);
           
            //通过循环语句将Buffer中的内容输出到页面
            while (count > 0)
            {
                Response.OutputStream.Write(buffer, 0, count);
                count = stream.Read(buffer, 0, buffersize);
            }
回复

使用道具 举报

0

主题

10

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-9 15:00:02 | 显示全部楼层
buffersize=1024 * 16 应该是图片的大小为1024byte*16=16K
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表