sql读写图片时Image.FromStream 参数错误的问题解决
2009-08-01 11:03
399 查看
昨天遇到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),
#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),
相关文章推荐
- sql读写图片时Image.FromStream方法提示参数错误问题解决
- 解决image.fromstream(Stream)参数无效的问题
- 从sql库里读取二进制图片的问题 (参数无效 未处理ArgumentException 错误的解决办法)
- 一文解决图片数据集太少的问题:详解KerasImageDataAugmentation各参数
- asp上传图片提示 ADODB.Stream 错误 '800a0bbc'的解决方法
- JDBC-Driver、PostgreSQL的SQL语句参数上限错误分析及解决办法(源码)
- 解决sybase存储过程中不能取得动态sql输出参数的问题
- 老问题,SQL保存图片。保存以后再读出来,发现stream的大小不一致。虽然老,但没搜到结果。
- Stream 读写html 中文乱码的问题解决
- 解决mybatis执行SQL语句部分参数返回NULL问题
- 解决还原数据库是出现system.data.sqlclient.sqlerror filestream功能被禁用的问题
- "java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 12"异常问题的解决
- C# 加载图片image --(C#)Image.FromFile 方法会锁住文件的原因及可能的解决方法
- 解决uploadify多图片上传部分图片丢失,且不提示任何错误的问题
- 【问题及解决】Elasticsearch--Failed to deserialize exception response from stream
- ImagePreview 图片预览 IE6下错误的问题
- 解决.Net Remoting无法传Stream类型参数的问题
- MySQL 出现 java.sql.SQLException 之 Got error 28 from storage engine 问题分析以及解决方法
- PIL在windwos系统下Image.show无法显示图片问题的解决方法
- Android ImageSwitcher 和 Gallery 浏览图片时 OutofMemory问题的解决