sql读写图片时Image.FromStream 参数错误的问题解决_fromstream 参数异常_zystory的博客-程序员宅基地

技术标签: image  sqlserver  byte  数据库  WinForm c#  sql  

昨天遇到sql读写图片时Image.FromStream方法老提示参数错误,搞了好久,今天终于找到原因,解决了。

 

#region 图片Image与byte[]数组互转
        /// <summary>
        /// ImageToBytes,默认为Jpeg格式
        /// </summary>
        /// <param name="img"></param>
        /// <returns></returns>
        public static byte[] ImageToBytes(Image img)
        {
            MemoryStream ms = new MemoryStream();
            img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            byte[] bytes = ms.GetBuffer();
            return bytes;
        }

        /// <summary>
        /// BytesToImage
        /// </summary>
        /// <param name="bytes"></param>
        /// <returns></returns>
        public static Image BytesToImage(byte[] bytes)
        {
            MemoryStream ms = new MemoryStream(bytes);
            Image img = Image.FromStream(ms);
            return img;

        }
        #endregion

 

问题不存在上面而是在sqlserver数据库 image数据类型默认大小是16,而DAL立参数定义也是16,所以将Byte[]数据存进数据库是自动截取长度为16的数据,其他的就丢失了,在DAL里讲参数定义改一下就OK了

new SqlParameter("@L_RolePic", SqlDbType.Image, 16) 改为 new SqlParameter("@L_RolePic", SqlDbType.Image),

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zystory/article/details/4399338

智能推荐

看门狗-程序员宅基地

#!/bin/shcurDir=$(cd `dirname $0`; pwd)log() { echo `date +%F" "%H:%M:%S`: $1 >> $curDir/../../proc/logs/diagnose.log}diagnose() { for ((time=1; time<=$3; time++));do curl --conn..._51单片机watchdog swdt

高级数据结构及算法:AVL树(平衡二叉树)-程序员宅基地

文章目录AVL树(平衡二叉树)1. 操作1.1 旋转AVL树(平衡二叉树)BST树的缺点是 可能不平衡AVL树是一种满足平衡条件的的BST树AVL树(平衡二叉树):它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。即每个节点的左右子树的高度差绝对值是1或0平衡因子BF(Balance Factor):左树深度减去右树深度的值。平衡因子BF = 左子树深度-右子树深度。平衡二叉树每个结点的平衡因子只能是1,0,-1。若其绝对值超过1,则该二叉排序树就是不平

docker启动tomcat容器后,tomcat页面未加载出来_docker搭建环境一直加载不出来怎么办_邓不利东的博客-程序员宅基地

操作步骤按照docker的几条基础命令启动tomcat:1.下载tomcat镜像(根据多篇博客的建议,不要用最新的,最新的tomcat下webapps里面是空的)docker pull tomcat:8.0.522.启动tomcat容器,启动的同时将容器的端口映射到外网的linux上。docker run -d -p 8080:8080 b4b762737ed4(命令中最后一串字符串是镜像id,可通过 docker images查看)遇到问题理论上,按照上述步骤操_docker搭建环境一直加载不出来怎么办

2008 Server IIS7 403 - 禁止访问: 访问被拒绝-程序员宅基地

2008 Server IIS7 403 - 禁止访问: 访问被拒绝 解决WIN2008 IIS7子目录访问出现403 禁止访问错误,很简单,在IIS里设置了一下默认首面,注意不是网站里设默认首面,主要是设置对应访问连接的默认打开页面。...

Linux 内核支持debugfs,Linux内核debugfs-程序员宅基地

debugfs 虚拟文件系统是一种内核空间与用户空间的接口,基于libfs库实现,专用于开发人员调试,便于向用户空间导出内核空间数据。内核开发者经常需要向用户空间应用输出一些调试信息,在稳定的系统中可能根本不需要这些调试信息。但是在开发过程中,为了搞清楚内核的行为,调试信息非常必要。printk可能是用的最多的,但它并不是最好的,调试信息只是在开发中用于调试,而printk将一直输出,因此开发完毕..._debugfs_remove空指针

高德地图模仿微信发送位置实现拾取坐标_高德地图坐标拾取-程序员宅基地

高德地图实现微信定位拾取坐标效果图:这个拾取模式是,地图中间的这个标记不动,拖动地图,处于这个点下方的坐标即为标记点。为了考虑用户的学习成本尽量低,保持与微信一致,便于操作。实现思路:定位位置:可以利用高德的getCenter和setCenter方法,先绘制一个标记点到地图中心,调好大小位置。然后再利用定位把这个图标挪到和之前的标记点重合的位置即可。拿到坐标:那么每次移动地图,再用getCenter这个方法拿到坐标就行了。效果图:代码实现:html:<div cla_高德地图坐标拾取

随便推点

容器部署虚拟机还是物理服务器,容器docker装在虚拟机上吗_雪落记忆的博客-程序员宅基地

容器无论是虚拟机还是物理机,都是硬件/基础设施的一种交付方式,本质上是一个层次的;而容器主要要解决以软件为中心的系列问题(开发、测试、部署、发布、运行)。在虚拟机中运行容器,已经成为一种实践中的惯例,比如,AWS的container服务就是只运行在虚拟机中的。关于容器docker和虚拟化技术Docker守护进程可以直接与主操作系统进行通信,为各个Docker容器分配资源;它还可以将容器与主操作系统..._使用容器后还需要使用硬件服务器吗

信息管理与信息系统专业实习报告第八天_信息管理专业实习日记-程序员宅基地

日记: 2020 年 08 月 12 日实习的时间过得很快,转眼间就只剩两天了,而今天我们的任务主要是美化用户登录所看到的界面,上午的代码基本上没什么问题,但下午结束的时候就遇到了令人头秃的问题,在不断断点检查的时候发现,后台的数据不报错,但就是页面获取不到,就在快放弃的时候,终于找到了错误,table.jsp页面所写的GetOrdersLikeServlet与Dao层的Servlet名字不一样,忙忙碌碌找了两个小时错误总算是解决了。小结:只有..._信息管理专业实习日记

菜鸟入门Docker—认识Docker_docker菜鸟理解-程序员宅基地

你好!Docker。欢迎来到Docker。Docker是GitHub上最活跃的项目之一,大受开源爱好者追捧,号称要成为所有云应用的基础。各大公司的IT从业人员正在如火如荼的进行应用容器化改造。那么Docker到底是什么?是干嘛的?且听博主一一道来。一、Docker是什么介绍前先给大家普及一下云计算中的几个概念:IaaS、PaaS和SaaS。基础结构即服务 (IaaS)基础结..._docker菜鸟理解

如何在Android平台上使用USB Audio设备-程序员宅基地

需求:USB Headset插上去后,声音要从本地CODEC切换到USB Headset输出/输入。上网搜了有关USB Audio Hotplug的东西,比较适用的资源如下:1、Hotplugging USB audio devices (Howto)题目看起来很吻合我们的问题,事实上并没有多少参考价值。其中脚本/etc/hotplug/usb/extigy或许可以捕捉到USB

HBase中CloumnFamily的设计规则-程序员宅基地

2019独角兽企业重金招聘Python工程师标准>>> ..._hbase表怎么设置不同的family

Wbemtest查询-程序员宅基地

运行wbemtest,打开后连接命名空间,默认为“root\cimv2”,可以连接到”IIS管理命名空间(此为Windows Server 2008 R2)“查看该命名空间下所有可用的类:单击“枚举类”,选择“递归”,直接“确定”即可。枚举实例(效果= select * from IISApplicationPoolSetting),下图表示该机器上有5个应用程序池查询...

推荐文章

热门文章

相关标签