各位高手:
偶都郁闷好几天了,现在Oracle存储的数据类型是LONG RAW的,怎么能读出来了。痛苦ING!!!!分不够另开帖再加,顶者也有分,千万不要路过就走呀。顶一下!!!!
偶都郁闷好几天了,现在Oracle存储的数据类型是LONG RAW的,怎么能读出来了。痛苦ING!!!!分不够另开帖再加,顶者也有分,千万不要路过就走呀。顶一下!!!!
解决方案 »
- 请教个棘手的SQL语句怎么写
- 后台cs输出div屏蔽页面,总是报错
- 请教一个奇怪的问题
- vs2003启动问题?急!!!
- 我下载的asp.net源代码里全是编译好的,根本看不到c#源代码,请各位告诉我哪里能下到完整的源代码,谢谢!
- 求救 c#中有没有类似javascript中setTimeout( "go()", 1000)这样的函数
- asp.net如何实现将一个学生表中男生数据写入另一个表?在线等
- 如何用ASP.NET+SQL SERVER显示数据?
- 急呀,想了几天:有谁做个OA中的工作流系统呀,我个问题:在做工作流的时候:“退上一步办理人”怎么样做的呀,给点思路?
- asp.net中的客户端脚本问题
- 如何在指定目录创建asp.net web应用程序?
- 对于整个.net项目如果改了一个文件就要整个重新部署吗?
private void GetImage( string id )
{
try
{
OracleConnection oraCon = new OracleConnection( "Server=mis;Data Source=mis;user id=js;Password=htgk;" );
OracleCommand oraCmd = new OracleCommand( "SELECT 图片 FROM ZHCX.FIXSEPAMOVE WHERE 申请书编号 = " + id );
oraCmd.Connection = oraCon; if( oraCmd.Connection.State == ConnectionState.Closed )
{
oraCmd.Connection.Open();
} OracleDataReader reader = oraCmd.ExecuteReader();
reader.Read(); Stream s = new MemoryStream( ( byte[] )reader[ "图片" ] ); reader.Close();
oraCon.Close(); System.Drawing.Bitmap bmp = new Bitmap( s ); bmp.Save( MapPath( "Image\\1.bmp" ), System.Drawing.Imaging.ImageFormat.Bmp ); bmp.Dispose(); this.Response.Write( "<script>" );
this.Response.Write( "window.open( 'Image/1.jpg', '' , 'width=500,height=400,status=no,resizable=no,left=200,top=200');" );
this.Response.Write( "</script>" );
}
catch( Exception ex )
{
Page.RegisterClientScriptBlock( "", "<script language=JavaScript>alert('" + ex.Message.ToString() + "');</script>" );
}
}
“Stream s = new MemoryStream( ( byte[] )reader[ "图片" ] );”能不能正常执行呢?
假如不行的话,我建议你用另一个方式:byte[] image_data=( byte[] )reader[ "图片" ] );
Stream s = new MemoryStream();
s.Read(image_data,0,image_data.Length);如果你能执行到这里再用s来保存文件到你的目标位置上,试试。
要改成这句
发错,不好意思
System.Drawing.Bitmap bmp =System.Drawing.Bitmap.FromStream(s);
不好意思
最后试一次,这句还不行我也没办法了
Thank you!!!5555555555555~~~~~~~~~~~~
我设断点看了,数据都能回来,长度也有,
数据也有,但就是不给创建位图。
你代码当中:
Stream s = new MemoryStream( ( byte[] )reader[ "图片" ] );
reader.Close();
oraCon.Close();
System.Drawing.Bitmap bmp = new Bitmap( s );
改成:
Stream s = new Stream(( byte[] )reader[ "图片" ]);
reader.Close();
oraCon.Close();
System.Drawing.Bitmap bmp =(System.Drawing.Bitmap)System.Drawing.Bitmap.FromStream(s);
这条语句执行不过去。
“System.Drawing.Bitmap bmp = new Bitmap( s );”这一句上,我查了资料,要把流写进对象就是用FromStream()方法的,你多试几下,
System.Drawing.Bitmap bmp =(System.Drawing.Bitmap)System.Drawing.Image.FromStream(s);
System.Drawing.Bitmap bmp =(System.Drawing.Bitmap)System.Drawing.Bitmap.FromStream(s);
看看哪个方法能行,我在我的机器上编译是可以通过的哦,不会提示参数错误。
好的,我试一下,可以告诉我你的MSN号吗?。