将图片保存至Oracle数据库Blob字段中

用FileUpLoad控件上传图片并将图片转换为byte[]。

           Stream s = upload.PostedFile.InputStream; 

           BinaryReader br = new BinaryReader(s);

           byte[] myByte = new byte[s.Length];

           br.Read(myByte0Convert.ToInt32(myByte.Length));

           s.Close();

 ----------------------------------------------------------------------------------------------------------------------------------------

OracleType.Blob与byte[]对应,代码如下:

          String sql = "update tablename t set t.e_chapter = :e_chapter where t.file_id = :file_id";

          OracleCommand cmd = new OracleCommand();

          cmd.CommandType = CommandType.Text;

 

 

          OracleParameter param = new OracleParameter(":e_chapter"OracleType.Blob);

          param.Value = myByte;

          cmd.Parameters.Add(param);

 

          param = new OracleParameter(":file_id"OracleType.VarChar);

          param.Value = strProjectID;

          cmd.Parameters.Add(param);


使用sql将byte[]保存如blob字段方法较容易方便。如果使用存储过程并将blob作为参数不能将byte[]类型的数据直接传入需要转换否则会报出01460的错误

你可能感兴趣的:(将图片保存至Oracle数据库Blob字段中)