У меня есть столбец AttachmentFile с varbinary data в базе данных. В С# я храню его в массиве byte []. Мне нужно отобразить это содержимое как строку для пользователя. Я пробовал несколько различных способов преобразования этого байтового массива в строку, но ничего не работает.
Вот что я пытаюсь сделать -
while (rdr.Read())
{
string name = rdr["AttachmentFileName"].ToString();
string mime = rdr["AttachmentMIMEType"].ToString();
byte[] content = (byte[])rdr["AttachmentFile"];
string contentStr = (???)ConvertToString(content);
r.AddHeader("Content-Disposition", "attachment; filename=" + name);
r.ContentType = mime;
r.Write(contentStr);
}
Вот что я пробовал до сих пор -
string contentStr = Encoding.Default.GetString(content, 0, 10000);
string contentStr = Encoding.UTF8.GetString(content, 0, 10000);
content = Encoding.Convert(Encoding.GetEncoding("iso-8859-1"), Encoding.UTF8, content);
string contentStr = Encoding.UTF8.GetString(content, 0, 10000);
System.Text.Encoding enc = System.Text.Encoding.ASCII;
string contentStr = enc.GetString(content);
string contentStr = System.Convert.ToBase64String(content);
Но ни один из вышеперечисленных не дал мне четкую строку назад. Любые идеи?