我正在使用 C# Windows Form 应用程序将文档文件(word、pdf 和文本)插入到 SQL Server 数据库中,下面的代码我用来将文件转换为二进制文件,然后我将此文件上传到数据库:
FileInfo fileinfo = new FileInfo(file);
string fileName = System.IO.Path.GetFileNameWithoutExtension(file);
string extension = System.IO.Path.GetExtension(file);
long byteSize = fileinfo.Length;
FileStream myFileStreams = new FileStream(file, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(myFileStreams);
byte[] fileStream = br.ReadBytes((int)byteSize);
该文件已成功保存,但是当我从数据库中检索该文件时,该文件不是可读格式,以下代码是我用来从数据库中检索并将其保存在本地磁盘上的:
//the file is fetch by its id and is saved in DataTable dt1 on its row[0][1]
byte[] cv = (byte[])dt1.Rows[0][1];
string cvName = dt1.Rows[0][0].ToString();
string ext = dt1.Rows[0][2].ToString();
//saved in bin
string pathOfCv = "new\\" + cvName + ext;
File.WriteAllBytes(pathOfCv, cv);
File.Create(pathOfCv);
检索到的文件有不可读的文本,我想以我保存的相同格式读取这些文本,我认为文件转换存在问题可能是我无法直接在文件中写入字节数组。
请给我一些代码示例,我该如何解决这个问题,谢谢。