我因为方便,将图片后缀改成txt,将生成的文档内的代码以为本的形式保存到sql数据库中,但是当我使用的时候怎么将它调出来呢?就是调出来后还是图片的格式?我用的是asp.net(c#)以前在asp的时候可以实现,在a.asp文件内用代码<%response.write "<img src='viewimages.asp?id="&rs("id")&"' width='32' height='32'>"%>    viewimages.asp内容为:
<!--#include file="db1.asp"--> 
<% 
dim rs
id=request("id")
set rs=server.createobject("ADODB.recordset") 
sql="select * from people where id="&id&""
rs.open sql,db,1,1 
'Response.ContentType = "text/html" '显示图片的格式也可以用
'Response.ContentType = "image/gif" 以gif显示
Response.ContentType = "image/jpg" '以jpg显示
Response.BinaryWrite rs("photo") '显示图片
rs.close 
db.close
set rs=nothing 
set db=nothing 
%>
db1.asp内容为:
<%
dim db,sql
set db=Server.CreateObject("ADODB.connection")
db.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath("../database/person.mdb")
sub Closedb()
db.close
set db=nothing
end sub
%>
那再asp.net怎么实现啊?

解决方案 »

  1.   

    看看我写的这个例子能不能帮上你.
    http://hi.baidu.com/zck98530/blog/item/320cff03a5ff7a8cd53f7cd4.html
      

  2.   

      public Image ReadImage(int id)
            {            string sql = "SELECT Image FROM table Where Id = " + id + "";
               
                SqlCommand command = null;
                SqlConnection con = null;
                SqlDataReader reader = null;
                Image myImage = null;
                FileStream myStream = null;
                try
                {
                    //从配置文件里取连接字符串
                    con = new SqlConnection(Properties.Settings.Default.strConnection);
                    con.Open();
                    command = new SqlCommand(sql, con);
                    reader = command.ExecuteReader();                if (reader.Read())
                    {
                        FileInfo file = new FileInfo("temp.jpg");
                        myStream = file.Open(FileMode.Create);
                        byte[] mydata = new byte[(Convert.ToInt32(reader.GetBytes(0,0,null,0,Int32.MaxValue)))];
                        if (mydata.Length == 0) return null;
                        reader.GetBytes(0, 0, mydata, 0, mydata.Length);                 
                        myStream.Write(mydata, 0, mydata.Length);
                        myImage = Image.FromStream(myStream); 
                    }
                    return myImage;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.StackTrace);
                    return null;
                }
                finally
                {
                    if (null != myStream)
                        myStream.Close();
                    if (null != reader)
                        reader.Close();
                    if (null != con)
                        con.Close();
                    if (null != command)
                        command.Dispose();
                }        }
      

  3.   

    picturebox.image = ReadImage(条件)这是读字节流
      

  4.   

    怎么读取啊~~各位大虾们~~~
    我想在前台使用img控件读取出来  可以么?把二进制数据读出来,用流来写成文件。是什么意思啊~~~