C#图片转换成二进制流并且保存到sql server数据库
谢谢大侠们了...来看看...急急急..注意:我要存储文件二进制流的列的类型是text,不是image类型。我已经实现了从数据库中读取text类型的二进制流,,现在就是不...
谢谢大侠们了...来看看...急急急..
注意:我要存储文件二进制流的列的类型是text,不是image类型。
我已经实现了从数据库中读取text类型的二进制流,,现在就是不知道怎么存进去.
我的部分关键代码:
StreamReader sr = new StreamReader(FilePath, System.Text.Encoding.GetEncoding("GB2312"), true);
string filetext = sr.ReadLine();//这是要存进数据库的文件二进制流文本
他们告诉我具体该用FileStream这个类来读取...但是我不知道怎么用...
上面我的代码存到数据库后,我再读取出来二进制流转换成文件后,图片就无浏览..估计是我的代码是没有读完二进制流就保存到数据库了...
说明:上面如果保存图片二进制流成功存到数据库后,在数据库看到的值可能是:“BM諪”是这样的..
我的这种方法是错误的...希望大家能帮我看看,应该怎么改...
非常感谢..
数据库存储二进制流的列的类型不是image,而是text类型 ,我的读取二进制字符串已经可以转换成文件了...现在就是把二进制字符串保存到数据库的时候有问题..
这是我把文件转换为二进制字符串的代码
string FilePath = this.openFileDialog1.FileName; //得到文件路径
string filename = FilePath.Substring(FilePath.LastIndexOf("\\") + 1); //得到上传文件的文名
string filetext =string.Empty;
FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Read);
Byte[] fileByte = new Byte[(int)fs.Length];
fs.Read(fileByte, 0, fileByte.Length);
filetext = System.Text.Encoding.Default.GetString(fileByte); //将指定字节数组中的说有字节解码为一个字符串
fs.Close(); 展开
注意:我要存储文件二进制流的列的类型是text,不是image类型。
我已经实现了从数据库中读取text类型的二进制流,,现在就是不知道怎么存进去.
我的部分关键代码:
StreamReader sr = new StreamReader(FilePath, System.Text.Encoding.GetEncoding("GB2312"), true);
string filetext = sr.ReadLine();//这是要存进数据库的文件二进制流文本
他们告诉我具体该用FileStream这个类来读取...但是我不知道怎么用...
上面我的代码存到数据库后,我再读取出来二进制流转换成文件后,图片就无浏览..估计是我的代码是没有读完二进制流就保存到数据库了...
说明:上面如果保存图片二进制流成功存到数据库后,在数据库看到的值可能是:“BM諪”是这样的..
我的这种方法是错误的...希望大家能帮我看看,应该怎么改...
非常感谢..
数据库存储二进制流的列的类型不是image,而是text类型 ,我的读取二进制字符串已经可以转换成文件了...现在就是把二进制字符串保存到数据库的时候有问题..
这是我把文件转换为二进制字符串的代码
string FilePath = this.openFileDialog1.FileName; //得到文件路径
string filename = FilePath.Substring(FilePath.LastIndexOf("\\") + 1); //得到上传文件的文名
string filetext =string.Empty;
FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Read);
Byte[] fileByte = new Byte[(int)fs.Length];
fs.Read(fileByte, 0, fileByte.Length);
filetext = System.Text.Encoding.Default.GetString(fileByte); //将指定字节数组中的说有字节解码为一个字符串
fs.Close(); 展开
4个回答
展开全部
private Byte[] getphoto(string photopath) //读取照片文件到字节数组
{
string str = photopath;
FileStream file = new FileStream(str, FileMode.Open, FileAccess.Read);
Byte[] byteData = new Byte[file.Length];
file.Read(byteData, 0, byteData.Length);
file.Close();
return byteData;
}
{
string str = photopath;
FileStream file = new FileStream(str, FileMode.Open, FileAccess.Read);
Byte[] byteData = new Byte[file.Length];
file.Read(byteData, 0, byteData.Length);
file.Close();
return byteData;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FileStream stream;
IFormatter iFormatter = new BinaryFormatter();
stream = new FileStream("图片);
//序列化
formatter.Serialize(stream, "目标");
stream.Close();
//读取的时候用反序列化
formatter.Deserialize()
//转化为图片格式
IFormatter iFormatter = new BinaryFormatter();
stream = new FileStream("图片);
//序列化
formatter.Serialize(stream, "目标");
stream.Close();
//读取的时候用反序列化
formatter.Deserialize()
//转化为图片格式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
System.IO.FileStream fs = new System.IO.FileStream(图片路径, FileMode.OpenOrCreate, FileAccess.Read);
byte[] fileByte = new byte[fs.Length];
fs.Read(fileByte, 0, (int)fs.Length);
然后将fileByte存到库里就行了。
byte[] fileByte = new byte[fs.Length];
fs.Read(fileByte, 0, (int)fs.Length);
然后将fileByte存到库里就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询