http://dotnet.aspx.cc/ShowDetail.aspx?id=ECD9AE16-8FF0-4A1C-9B9F-5E8B641CB1B1

解决方案 »

  1.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=EY1XLDYV-PIDF-43LO-1WFL-FMY5ALE1F635
      

  2.   

    刚好有现成资料
    Byte[] FileByteArray = new Byte[FileLength]; //图象文件临时储存Byte数组 
    Stream StreamObject = UpFile.InputStream; //建立数据流对像 
    //读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度 
    StreamObject.Read(FileByteArray,0,FileLength); 
    //建立SQL Server链接 
    SqlConnection Con = new SqlConnection("Persist Security Info=False;User ID=sa;Initial Catalog=StudyTestData;Data Source=."); 
    String SqlCmd = "INSERT INTO ImageStore (ImageData, ImageContentType, ImageDescription, ImageSize) VALUES (@Image, @ContentType, @ImageDescription, @ImageSize)"; 
    SqlCommand CmdObj = new SqlCommand(SqlCmd, Con); 
    CmdObj.Parameters.Add("@Image",SqlDbType.Binary, FileLength).Value = FileByteArray; 
    CmdObj.Parameters.Add("@ContentType", SqlDbType.VarChar,50).Value = UpFile.ContentType; //记录文件类型 
    //把其它单表数据记录上传 
    CmdObj.Parameters.Add("@ImageDescription", SqlDbType.VarChar,200).Value = txtDescription.Text; 
    //记录文件长度,读取时使用 
    CmdObj.Parameters.Add("@ImageSize", SqlDbType.BigInt,8).Value = UpFile.ContentLength; 
    Con.Open(); 
    CmdObj.ExecuteNonQuery(); 
    Con.Close(); 
    txtMessage.Text = "<p><b>OK!你已经成功上传你的图片</b>"; 
    //int ImgID = Convert.ToInt32(Request.QueryString["ImgID"]); //ImgID为图片ID 
    int ImgID=2;
    //建立数据库链接 
    SqlConnection Con = new SqlConnection("Persist Security Info=False;User ID=sa;Initial Catalog=StudyTestData;Data Source=."); 
    String SqlCmd = "SELECT * FROM ImageStore WHERE ImageID = @ImageID"; 
    SqlCommand CmdObj = new SqlCommand(SqlCmd, Con); 
    CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = ImgID; 
    Con.Open(); 
    SqlDataReader SqlReader = CmdObj.ExecuteReader(); 
    SqlReader.Read(); 
    //Response.ContentType = (string)SqlReader["ImageContentType"];//设定输出文件类型 
    //输出图象文件二进制数制 
    Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, (int)SqlReader["ImageSize"]); 
    Response.End(); 
    Con.Close();