用FileUpLoad控件上传图片并将图片转换为byte[]。
Stream s = upload.PostedFile.InputStream;
BinaryReader br = new BinaryReader(s);
byte[] myByte = new byte[s.Length];
br.Read(myByte, 0, Convert.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的错误