当前位置:编程学习 > C#/ASP.NET >>

图片格式转化问题

再。net三层架构中 如何把上传的图片转化成二进制,上传到数据库中 --------------------编程问答-------------------- 帮顶啊……
--------------------编程问答-------------------- 记得多结贴

HttpPostedFile UpFile = UP_FILE.PostedFile; //HttpPostedFile对象,用于读取图象文件属性
  FileLength = UpFile.ContentLength; //记录文件长度
  try {
  if (FileLength == 0) { //文件长度为零时
  txtMessage.Text = "<b>请你选择你要上传的文件</b>";
  } else {
  Byte[] FileByteArray = new Byte[FileLength]; //图象文件临时储存Byte数组
  Stream StreamObject = UpFile.InputStream; //建立数据流对像
  //读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
  StreamObject.Read(FileByteArray,0,FileLength);
  //建立SQL Server链接
  SqlConnection Con = new SqlConnection("Data Source=Localhost;Initial Catalog=testdb;User ID=sa;Pwd=;");
  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>";//提示上传成功
  }
  } catch (Exception ex) {
  txtMessage.Text = ex.Message.ToString();
  }}}
--------------------编程问答--------------------


string strPicPath = @"C:\\DefautHead.gif";
                    FileStream fs = new FileStream(strPicPath, FileMode.Open, FileAccess.Read);
                    int filelength = (int)fs.Length;    //获得文件长度 
                    if (filelength > 0 && filelength <= 102400)
                    {
                        Byte[] fl = new Byte[filelength];   //建立一个字节数组 
                        fs.Read(fl, 0, filelength);         //按字节流读取 
                       
                    }
                    fs.Close(); 
--------------------编程问答-------------------- 你刚不发了一帖子?
传byte[] --------------------编程问答-------------------- 你的代码是在三层架构里面写的么 --------------------编程问答-------------------- 晕,这和三层架构有什么关系啊?
只是一个类型参数而已
看来你还不了解什么叫三层架构啊
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,