用FileUpLoad控件上传图片并将图片转换为byte[]。
Streams=upload.PostedFile.InputStream;
BinaryReaderbr=newBinaryReader(s);
byte[]myByte=newbyte[s.Length];
br.Read(myByte,0,Convert.ToInt32(myByte.Length));
s.Close();
----------------------------------------------------------------------------------------------------------------------------------------
OracleType.Blob与byte[]对应,代码如下:
Stringsql="update tablename t set t.e_chapter = :e_chapter where t.file_id = :file_id";
OracleCommandcmd=newOracleCommand();
cmd.CommandType=CommandType.Text;
OracleParameterparam=newOracleParameter(":e_chapter",OracleType.Blob);
param.Value=myByte;
cmd.Parameters.Add(param);
param=newOracleParameter(":file_id",OracleType.VarChar);
param.Value=strProjectID;
cmd.Parameters.Add(param);
使用sql将byte[]保存如blob字段方法较容易方便。如果使用存储过程并将blob作为参数不能将byte[]类型的数据直接传入需要转换否则会报出01460的错误