将图片保存至Oracle数据库Blob字段中
用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的错误 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |