存储图片没法显示的问题 求教大侠!

问题描述

存储图片代码:privatevoidbuttonX4_Click(objectsender,EventArgse){OpenFileDialogopenfile=newOpenFileDialog();openfile.Title="请选择图片";openfile.Filter="图片(*.jpg;*.bmp;*png)|*.jpeg;*.jpg;*.bmp;*.png|AllFiles(*.*)|*.*";if(DialogResult.OK==openfile.ShowDialog()){try{Bitmapbmp=newBitmap(openfile.FileName);pictureBox1.Image=bmp;pictureBox1.SizeMode=PictureBoxSizeMode.Zoom;MemoryStreamms=newMemoryStream();bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);byte[]arr=newbyte[ms.Length];ms.Position=0;ms.Read(arr,0,(int)ms.Length);ms.Close();pic=Convert.ToBase64String(arr);}catch{}}privatevoidbuttonX1_Click(objectsender,EventArgse){mymeans.getsqlcom("insertintotb_studentvalues('"+textBoxX1.Text+"','"+textBoxX2.Text+"','"+textBoxX3.Text+"','"+comboBoxEx1.Text+"','"+textBoxX4.Text+"','"+textBoxX5.Text+"','"+pic+"','"+textBoxX6.Text+"','"+textBoxX7.Text+"')");}读取图片代码:mymeans.conn_open();dt=mymeans.getDataTable("selectPhotofromtb_studentwhereStuId='"+textBoxX1.Text+"'");pic=dt.Rows[0].ItemArray[0].ToString());try{if(!string.IsNullOrEmpty(pic)){byte[]imageBytes=Convert.FromBase64String(pic);MemoryStreammemoryStream=newMemoryStream(imageBytes,0,imageBytes.Length);memoryStream.Write(imageBytes,0,imageBytes.Length);Imageimage=Image.FromStream(memoryStream);this.pictureBox1.SizeMode=PictureBoxSizeMode.Zoom;this.pictureBox1.Image=image;}}catch{}}大家给我看看:数据库中Photo字段为image类型存储图片后出现《二进制数据》但在读取数据的时候不显示图片if(!string.IsNullOrEmpty(pic))//这句执行了//这一段好像没有执行byte[]imageBytes=Convert.FromBase64String(pic);MemoryStreammemoryStream=newMemoryStream(imageBytes,0,imageBytes.Length);memoryStream.Write(imageBytes,0,imageBytes.Length);Imageimage=Image.FromStream(memoryStream);this.pictureBox1.SizeMode=PictureBoxSizeMode.Zoom;this.pictureBox1.Image=image;求教!求教大侠!

解决方案

解决方案二:
把try.....catch注释了调试看看什么问题??
解决方案三:
没有执行说明if条件不满足,或者直接报错到了catch部分,调试看看是哪种情况
解决方案四:
绝对是报错了啊,,,在catch里面吧异常抛出来
解决方案五:
if(!string.IsNullOrEmpty(pic)){MessageBox.Show("你好!");//这句执行了byte[]imageBytes=Convert.FromBase64String(pic);MessageBox.Show("你好!");//这句没有执行MemoryStreammemoryStream=newMemoryStream(imageBytes,0,imageBytes.Length);memoryStream.Write(imageBytes,0,imageBytes.Length);Imageimage=Image.FromStream(memoryStream);this.pictureBox1.SizeMode=PictureBoxSizeMode.Zoom;this.pictureBox1.Image=image;}
解决方案六:
去掉try....catch后出现以下错误:输入的不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符,或者填充字符间包含非空白字符。麻烦大侠给我看看怎么修改才正确!
解决方案七:
我发现错误的原因就在这一句pic=dt.Rows[0].ItemArray[0].ToString();求大侠教我如歌修改这一句!

时间: 2024-09-04 19:16:17

存储图片没法显示的问题 求教大侠!的相关文章

nginx图片不显示,求教

问题描述 nginx图片不显示,求教 是这样的,nginx.conf是这样配置的: location / { root /usr/local/nginx/alfred_R.com; index index.html; } 上面的index.html是这样写的: welcome to alfred_R.com, amigo! 然后访问alfred_R.com, 上面的文字可以显示,但是图片不显示,不知道为什么?请指教... 太穷了,没有币,谢谢了... 解决方案 NGINX部署图片服务器nginx

jsp-项目图片不显示,求教大神

问题描述 项目图片不显示,求教大神 解决方案 怎么个不显示??详细点 解决方案二: 图片路径是对的,但是前台的login页面图片显示不出来 解决方案三: 前台报错信息 解决方案四: java web 项目图片显示

怎么办呐 各位大侠-qt designer背景图片无法显示

问题描述 qt designer背景图片无法显示

image-Android中SD card存储图片问题

问题描述 Android中SD card存储图片问题 我有一个小问题,我用下面的代码在SD card中保存图片: public String SDSave( ) { //View arg0 // TODO Auto-generated method stub OutputStream outStream = null; File file = new File( extStorageDirectory AdName + "".PNG""); try { outStr

怎样利用vb.net向ACCESS库中存储图片

问题描述 怎样利用vb.net向ACCESS库中存储图片 解决方案 解决方案二:http://topic.csdn.net/t/20060130/11/4537305.html解决方案三:有没有vb.net的实例啊?解决方案四:DimC_FilestreamAsSystem.IO.FileStreamC_Filestream=NewSystem.IO.FileStream(strPicPath,IO.FileMode.Open,IO.FileAccess.Read)Dimbt(C_Filestr

Java从数据库中读取Blob对象图片并显示的方法_java

本文实例讲述了Java从数据库中读取Blob对象图片并显示的方法.分享给大家供大家参考.具体实现方法如下: 第一种方法: 大致方法就是,从数据库中读出Blob的流来,写到页面中去: 复制代码 代码如下: Connection conn = DBManager.getConnection();   String sql = "SELECT picture FROM teacher WHERE id=1";   PreparedStatement ps = null;   ResultSe

Android应用中使用ContentProvider扫描本地图片并显示_Android

之前群里面有朋友问我,有没有关于本地图片选择的Demo,类似微信的效果,他说网上没有这方面的Demo,问我能不能写一篇关于这个效果的Demo,于是我研究了下微信的本地图片选择的Demo,自己仿照的写了下分享给大家,希望对以后有这样子需求的朋友有一点帮助吧,主要使用的是ContentProvider扫描手机中的图片,并用GridView将图片显示出来,关于GridView和ListView显示图片的问题,一直是一个很头疼的问题,因为我们手机的内存有限,手机给每个应用程序分配的内存也有限,所以图片多

JNI读文件造成GUI图片不显示的问题

问题描述 用JNI封装了一个Win32dll(读取特定文件),swingGUI调用时,JNI方法返回结果都正常,但是调用该方法一次以后,GUI上未加载的界面(JFrame,JDialog,JPanel)打开后,上面的图片(如JButton,JLabel图标等)会部分丢失,在调用JNI方法前已经加载的界面上的图片则还在.java无任何错误输出,多次调用该方法后GUI内存也无明显增长.请问这可能是什么原因呢? 解决方案 解决方案二:手动刷新一下行不调用一下刷新解决方案三:这个不应该是JNI造成的吧,

要求 图片循环滚动 左右控制,鼠标指针放到图片上显示该图片的名称,下面代码在ie8下正常显示,但在ie6 ie7下显示不正常

问题描述 要求图片循环滚动左右控制,鼠标指针放到图片上显示该图片的名称,下面代码在ie8下正常显示,但在ie6ie7下显示不正常!请各位大侠帮下小弟!另发现在ie8下第一遍图片滚动完毕后第二遍图片下面没有显示文字<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlx