Convert varbinary back to .txt file

12,695

Solution 1

MemoryStream m = new MemoryStream(byteArrayFromDB);
StreamReader file = new StreamReader(m);
while ((line = file.ReadLine()) != null)
{
string code = line.Substring(line.Length - 12);
}

Solution 2

try this:

System.IO.File.WriteAllBytes("path to save your file", bytes);

Solution 3

cv is a varbinary(max) field

SqlCommand sqlCmd = new SqlCommand("SELECT cv FROM [job].[UserInfo] Where ID = 39 ", conn); 
SqlDataReader reader = sqlCmd.ExecuteReader(); 

if (reader.Read() != null)
{
    byte[] buffer = (byte[])reader["cv"];
    File.WriteAllBytes("c:\\cv1.txt", buffer);
}
Share:
12,695
Robin
Author by

Robin

Updated on June 08, 2022

Comments

  • Robin
    Robin about 2 years

    I have a database (SQL 2008) where I store file's in. These are saved as a varbinary(max) type.

    Now I need to get the .txt file again so I can loop through the contents of the file like i used to do with StreamReader.

    while ((line = file.ReadLine()) != null)
    {
    string code = line.Substring(line.Length - 12);
    }
    

    But how can I convert the varbinary byte[] back to the normal .txt file so I'm able to go through the contents line by line.

    I found some ideas with memorystream or filestream but can't get them to work.

    Thanks in advance!

  • Robin
    Robin over 12 years
    well, that was easier than I thought, had to make it way to complicated for me Although I noticed that there are inserted white spaces at the end of the lines and another white space between every line. But that's easy fixed. Thanks!