怎么把文件转成二进制的啊? 如rar、doc、txt MP3 这些多一样的转吗?

 我来答
597555571
2011-04-12 · 超过19用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:52.7万
展开全部
嗯 都是一样的。 下面是转换的代码。存的时候在数据库建一个Image类型的字段存储就行了
/// <summary>
/// 文件转二进制
/// </summary>
/// <param name="Filepath">文件的路径</param>
/// <returns></returns>
private Byte[] getFile(string Filepath)
{
string str = Filepath;
FileStream file = new FileStream(str, FileMode.Open, FileAccess.Read);
if (file.Length / 1024 / 1024 > 2) //涉及到同步 要选择上传文件的大小
{
MessageBox.Show("附件不能大于2M", "系统提示");
return null;
}
else
{
Byte[] byteData = new Byte[file.Length];
file.Read(byteData, 0, byteData.Length);
file.Close();
return byteData;
}
}
这里顺便给你一个比较常用的,也是我在项目开发中写的代码。就是在点击一个下载连接把数据库存的二进制数重新转换成文件给用户下载。
saveFileDialog1.Filter = " txt files(*.txt)|*.txt|All files(*.*)|*.*";
//设置默认文件类型显示顺序
saveFileDialog1.FilterIndex = 2;
//保存对话框是否记忆上次打开的目录
saveFileDialog1.RestoreDirectory = true;
//点了保存按钮进入
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
////获得文件路径
//string localFilePath = saveFileDialog1.FileName.ToString();
////获取文件名,不带路径
//string fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1);
////获取文件路径,不带文件名
saveFileDialog1.DefaultExt = dt.Rows[0]["Extension"].ToString(); //后缀名
saveFileDialog1.AddExtension = true;
byte[] mybyte = (byte[])dt.Rows[0]["Accessory"]; //二进制
FileStream fs = new FileStream(this.saveFileDialog1.FileName + "." + dt.Rows[0]["Extension"], FileMode.Create, FileAccess.Write, FileShare.Read | FileShare.Write);
fs.Write(mybyte, 0, mybyte.Length);
fs.Flush();
fs.Close();
}
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式