跪求c#写的往MySql数据库中存储二进制文件的代码
如题,本人也写过一个,但是出了点问题,就是编码问题,在写入二进制文件时,c#必须将二进制流转换成string才能进行插入操作,在这个转换中由于C#的编码和MySql编码的...
如题,本人也写过一个,但是出了点问题,就是编码问题,在写入二进制文件时,c#必须将二进制流转换成string才能进行插入操作,在这个转换中由于C# 的编码和MySql编码的区别导致了存进去的文件不对头了!
你们的结果都不对,我写过你们这样的,跟二楼的一模一样,原因找到了,是编码问题,但是没有解决掉,换了个驱动——MySqlConnector,官方网站的 展开
你们的结果都不对,我写过你们这样的,跟二楼的一模一样,原因找到了,是编码问题,但是没有解决掉,换了个驱动——MySqlConnector,官方网站的 展开
3个回答
展开全部
把你要保存的数据转换为BYTE[]然后保存
下面是读取文件然后保存
stream = new FileStream(control.Text, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
bReader = new BinaryReader(stream);
MySQLParameter par = new MySQLParameter("?FieldName", System.Data.DbType.Binary);
par.Value = bReader.ReadBytes((int)stream.Length);
command.Parameters.Add(par);
下面是读取文件然后保存
stream = new FileStream(control.Text, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
bReader = new BinaryReader(stream);
MySQLParameter par = new MySQLParameter("?FieldName", System.Data.DbType.Binary);
par.Value = bReader.ReadBytes((int)stream.Length);
command.Parameters.Add(par);
展开全部
你应该是使用Base64了,你可以设置MySql的编码格式为Unicode或者将Base64ToString后的字符串转换为ASCII,然后保存。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mysql字段的类型没有设置对吧?BLOB
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |