图片和二进制间的转换

1.根据路径把图片转成二进制保存在数据库里

public bool SaveImage(string filePath)
{
bool
isSuccess = false;
string FilePath = filePath;

string filename = FilePath.Substring(FilePath.LastIndexOf("\\") + 1);
//得到上传文件的文名
string filetext = string.Empty;
FileStream fs =
new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Read);

BinaryReader br = new BinaryReader(fs);
byte[] fileByte =
br.ReadBytes((int)fs.Length);//将流读入到字节数组中
//Byte[] fileByte = new
Byte[(int)fs.Length];
//fs.Read(fileByte, 0, fileByte.Length);

//filetext = System.Text.Encoding.Default.GetString(fileByte);
//将指定字节数组中的说有字节解码为一个字符串
SqlConnection conn = new
SqlConnection(@"server=192.168.0.173;database=SoyErp;uid=sa;pwd=sa;");

conn.Open();
StringBuilder strSql = new
StringBuilder();
strSql.Append("INSERT INTO dbo.picSaveToSql (
ImgFile) VALUES ( @Photo )");
SqlCommand cmd = new
SqlCommand(strSql.ToString(), conn);
cmd.Parameters.Add("@Photo",
SqlDbType.Binary).Value = fileByte;
isSuccess =
cmd.ExecuteNonQuery() > 0 ? true : false;
conn.Close();

fs.Close();
return isSuccess;
}

//从数据库里根据二进制转成图片

public Bitmap Get_Image()
{
byte[] imagebytes =
null;
SqlConnection conn = new
SqlConnection(@"server=192.168.0.173;database=SoyErp;uid=sa;pwd=sa;");

conn.Open();
SqlCommand com = new SqlCommand(" SELECT top 1
* FROM picSaveToSql ", conn);
SqlDataReader dr =
com.ExecuteReader();
while (dr.Read())
{

imagebytes = (byte[])dr.GetValue(0);
}

dr.Close();
conn.Close();
MemoryStream ms = new
MemoryStream(imagebytes);
Bitmap bmpt = new Bitmap(ms);

return bmpt;
}

时间: 2024-10-12 20:36:46

图片和二进制间的转换的相关文章

支持Word文档和其他文件格式间的转换的控件Spire.Doc for .NET

Spire.Doc for .NET是e-iceblue公司推出的一款专门对Microsoft Word 文档进行操作的.NET类控件.这款控件的主要功能在于帮助开发人员轻松快捷地生成.编辑和查看Word文档.同时,开发人员还可以通过使用Spire.Doc for .NET 设置Word文档的格式,插入图片,表格,超链接等.Spire.Doc for .NET 最大的便利之处在于它不依赖于Microsoft Word以及任何其他第三方软件.只需将此款控件安装在您的电脑上,您就可以对word文档进

c# 图片转二进制/字符串 二进制/字符串反转成图片

protected void Button1_Click(object sender, EventArgs e) { //图片转二进制 byte[] imageByte = GetPictureData(Server.MapPath("./uploadfile/111.png")); //二进制转换成字符串 string picStr = Convert.ToBase64String(imageByte); //输出字符串 Response.Write(picStr); //字符串转二

【华为OJ】【030-整数与IP地址间的转换】

[华为OJ][算法总篇章] [华为OJ][030-整数与IP地址间的转换] [工程下载] 题目描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数. 举例:一个ip地址为10.0.3.193 每段数字 相对应的二进制数 10 00001010 0 00000000 3 00000011 193 11000001 组合起来即为:00001010 00000000 00000011 11000001,转换为10进制数就是:1

ASP.Net将图片以二进制方式存入数据库,并读取

把图片转换成二进制--把二进制转换成图片 private void button1_Click(object sender, EventArgs e) { string path = this.textBox1.Text; byte[] imgBytesIn = SaveImage(path); ShowImgByByte(imgBytesIn); //Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn; } //

Python常见字符编码间的转换

学习Python,字符编码间的转换是绕不过去的一只拦路虎,不把编码彻底搞明白,总有一天它会猝不及防坑你一把. Python2.x和Python3.x在字符编码的设置上也有很大区别(Python3未来将是主流,所以Python3为主),今天我们就来一起学习下. 上一篇文章里我已经简述了Python的常见编码了,这里就不再赘述了,还不清楚的小伙伴可以先去看下:     http://www.cnblogs.com/schut/p/8406897.html 一.Unicode 和 UTF-8的纠葛 U

将图片转为二进制字符串

#pragma mark - 将图片转为二进制 + (NSString *)image2binaryWithImage:(UIImage *)image imageName:(NSString *)imgName { //获取图片的二进制数据 NSData *imageData = UIImageJPEGRepresentation(image, 0.65); // if (UIImagePNGRepresentation(image) == nil) { // imageData = UIIm

C++ 各种基本类型间的转换

常用的转换方法: 流转换 STL标准函数库中函数转换 流转换 流转换主要是用到了<sstream>库中的stringstream类. 通过stringstream可以完成基本类型间的转换, 1 #include<sstream> 2 3 using namespace std; 4 5 template<typename out_type, typename in_value> 6 7 out_type convert(const in_value & t){

开发路程(8):图片和byte[]的互相转换

1 //图片的"读"操作 2 //①参数是图片路径:返回Byte[]类型: 3 //参数是图片的路径 4 public byte[] GetPictureData(string imagePath){ 5 FileStream fs=new FileStream(imagePath,FileMode.Open); 6 byte[] byteData=new byte[fs.Length]; 7 fs.Read(byteData,0,byteData.Length); 8 fs.Clos

可空值类型与值类型这间的转换

int s = 5; int? s_null; long t; long? t_null; t = s; //隐式转换 S -> T s = (int)t; //显示转换 T -> S s_null = s; //隐式转换 S -> S? s = (int)s_null; //显示转换 S? -> T t_null = s_null; //隐式转换 S? -> T? s_null = (int?)t_null; //显示转换 T? -> S? t_null = s; /