一.上传图片到数据库

 

 1ASP.NET上传图片以二进制保存到数据库_休闲/// <summary>
 2ASP.NET上传图片以二进制保存到数据库_数据库_02/// 上传图片
 3ASP.NET上传图片以二进制保存到数据库_休闲_03/// </summary>

 4ASP.NET上传图片以二进制保存到数据库_上传图片_04private void UploadFile()
 5ASP.NET上传图片以二进制保存到数据库_休闲{
 6ASP.NET上传图片以二进制保存到数据库_休闲_06    ///得到用户要上传的文件名
 7ASP.NET上传图片以二进制保存到数据库_数据库_02    string strFilePathName = loFile.PostedFile.FileName;
 8ASP.NET上传图片以二进制保存到数据库_数据库_02    string strFileName = Path.GetFileName(strFilePathName);
 9ASP.NET上传图片以二进制保存到数据库_数据库_02    int FileLength = loFile.PostedFile.ContentLength;
10ASP.NET上传图片以二进制保存到数据库_数据库_02
11ASP.NET上传图片以二进制保存到数据库_数据库_02    if(FileLength<=0)
12ASP.NET上传图片以二进制保存到数据库_数据库_02        return;
13ASP.NET上传图片以二进制保存到数据库_数据库_02
14ASP.NET上传图片以二进制保存到数据库_休闲_06    ///上传文件
15ASP.NET上传图片以二进制保存到数据库_数据库_02    try
16ASP.NET上传图片以二进制保存到数据库_休闲_06    {
17ASP.NET上传图片以二进制保存到数据库_数据库_02        
18ASP.NET上传图片以二进制保存到数据库_休闲_06        ///图象文件临时储存Byte数组
19ASP.NET上传图片以二进制保存到数据库_数据库_02        Byte[] FileByteArray = new Byte[FileLength];
20ASP.NET上传图片以二进制保存到数据库_数据库_02
21ASP.NET上传图片以二进制保存到数据库_休闲_06        ///建立数据流对像
22ASP.NET上传图片以二进制保存到数据库_数据库_02        Stream StreamObject = loFile.PostedFile.InputStream; 
23ASP.NET上传图片以二进制保存到数据库_数据库_02
24ASP.NET上传图片以二进制保存到数据库_休闲_06        ///读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
25ASP.NET上传图片以二进制保存到数据库_数据库_02        StreamObject.Read(FileByteArray,0,FileLength); 
26ASP.NET上传图片以二进制保存到数据库_数据库_02
27ASP.NET上传图片以二进制保存到数据库_休闲_06        ///建立SQL Server链接
28ASP.NET上传图片以二进制保存到数据库_数据库_02        string strCon = System.Configuration.ConfigurationSettings.AppSettings["DSN"];
29ASP.NET上传图片以二进制保存到数据库_数据库_02        SqlConnection Con = new SqlConnection(strCon);
30ASP.NET上传图片以二进制保存到数据库_数据库_02        String SqlCmd = "INSERT INTO ImageStore (ImageData, ImageContentType, ImageDescription, ImageSize) VALUES (@Image, @ContentType, @ImageDescription, @ImageSize)";
31ASP.NET上传图片以二进制保存到数据库_数据库_02        SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
32ASP.NET上传图片以二进制保存到数据库_数据库_02        CmdObj.Parameters.Add("@Image",SqlDbType.Binary, FileLength).Value = FileByteArray;
33ASP.NET上传图片以二进制保存到数据库_数据库_02        CmdObj.Parameters.Add("@ContentType", SqlDbType.VarChar,50).Value = loFile.PostedFile.ContentType; //记录文件类型
34ASP.NET上传图片以二进制保存到数据库_数据库_02        
35ASP.NET上传图片以二进制保存到数据库_休闲_06        ///把其它单表数据记录上传
36ASP.NET上传图片以二进制保存到数据库_数据库_02        CmdObj.Parameters.Add("@ImageDescription", SqlDbType.VarChar,200).Value = tbDescription.Text;
37ASP.NET上传图片以二进制保存到数据库_数据库_02        
38ASP.NET上传图片以二进制保存到数据库_休闲_06        ///记录文件长度,读取时使用
39ASP.NET上传图片以二进制保存到数据库_数据库_02        CmdObj.Parameters.Add("@ImageSize", SqlDbType.BigInt,8).Value = FileLength;
40ASP.NET上传图片以二进制保存到数据库_数据库_02        Con.Open();
41ASP.NET上传图片以二进制保存到数据库_数据库_02        CmdObj.ExecuteNonQuery(); 
42ASP.NET上传图片以二进制保存到数据库_数据库_02        Con.Close();
43ASP.NET上传图片以二进制保存到数据库_数据库_02
44ASP.NET上传图片以二进制保存到数据库_休闲_06        ///跳转页面
45ASP.NET上传图片以二进制保存到数据库_数据库_02        Response.Redirect("ShowAll.aspx");
46ASP.NET上传图片以二进制保存到数据库_上传图片_46    }

47ASP.NET上传图片以二进制保存到数据库_数据库_02    catch(Exception ex)
48ASP.NET上传图片以二进制保存到数据库_休闲_06    {
49ASP.NET上传图片以二进制保存到数据库_数据库_02        throw ex;
50ASP.NET上传图片以二进制保存到数据库_上传图片_46    }

51ASP.NET上传图片以二进制保存到数据库_休闲_03}

 

二.从数据库中读取图片

 

 1ASP.NET上传图片以二进制保存到数据库_休闲/// <summary>
 2ASP.NET上传图片以二进制保存到数据库_数据库_02/// 显示图片
 3ASP.NET上传图片以二进制保存到数据库_休闲_03/// </summary>

 4ASP.NET上传图片以二进制保存到数据库_上传图片_04private void ShowImages()
 5ASP.NET上传图片以二进制保存到数据库_休闲{
 6ASP.NET上传图片以二进制保存到数据库_休闲_06    ///ID为图片ID
 7ASP.NET上传图片以二进制保存到数据库_数据库_02    int ImgID = Convert.ToInt32(Request.QueryString["ID"]);  
 8ASP.NET上传图片以二进制保存到数据库_数据库_02    
 9ASP.NET上传图片以二进制保存到数据库_休闲_06    ///建立数据库连接
10ASP.NET上传图片以二进制保存到数据库_数据库_02    string strCon = System.Configuration.ConfigurationSettings.AppSettings["DSN"];
11ASP.NET上传图片以二进制保存到数据库_数据库_02    SqlConnection Con = new SqlConnection(strCon);
12ASP.NET上传图片以二进制保存到数据库_数据库_02    String SqlCmd = "SELECT * FROM ImageStore WHERE ImageID = @ImageID";
13ASP.NET上传图片以二进制保存到数据库_数据库_02    SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
14ASP.NET上传图片以二进制保存到数据库_数据库_02    CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = ImgID;
15ASP.NET上传图片以二进制保存到数据库_数据库_02    
16ASP.NET上传图片以二进制保存到数据库_数据库_02    Con.Open();
17ASP.NET上传图片以二进制保存到数据库_数据库_02    SqlDataReader SqlReader = CmdObj.ExecuteReader();
18ASP.NET上传图片以二进制保存到数据库_数据库_02    SqlReader.Read(); 
19ASP.NET上传图片以二进制保存到数据库_数据库_02
20ASP.NET上传图片以二进制保存到数据库_休闲_06    ///设定输出文件类型
21ASP.NET上传图片以二进制保存到数据库_数据库_02    Response.ContentType = (string)SqlReader["ImageContentType"];
22ASP.NET上传图片以二进制保存到数据库_数据库_02    
23ASP.NET上传图片以二进制保存到数据库_休闲_06    ///输出图象文件二进制数制
24ASP.NET上传图片以二进制保存到数据库_数据库_02    Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, (int)SqlReader["ImageSize"]); 
25ASP.NET上传图片以二进制保存到数据库_数据库_02    Response.End();
26ASP.NET上传图片以二进制保存到数据库_数据库_02
27ASP.NET上传图片以二进制保存到数据库_数据库_02    Con.Close();    
28ASP.NET上传图片以二进制保存到数据库_休闲_03}