我有一个大问题。
我上传图片并得到byte[]
在数据库中,我有NVARCHAR(MAX)字段,无法更改。
我所做的一切并保存在数据库中,以后再也无法将其获取为图像。
我试过了.ToString()不起作用。
我已经试过了:

private byte[] GetBytes(string str)
        {
            byte[] bytes = new byte[str.Length * sizeof(char)];
            System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
            return bytes;
        }
static string GetString(byte[] bytes)
        {
            char[] chars = new char[bytes.Length / sizeof(char)];
            System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
            return new string(chars);
        }


当我尝试将其放入RadBinaryImage时,我什么也没得到。
这是错误:

 The provided binary data may not be valid image or may contains unknown header

最佳答案

您可能要encode it,而不是直接转换。

我过去已经成功使用Radix-64编码。有一个C#方法,但是我没有用过:

Convert.ToBase64String(byteArrayForImage);


http://msdn.microsoft.com/en-us/library/dhx0d524.aspx

然后,您可以使用反向转换来获取字节数组:

Convert.FromBase64String(stringFromDB)

关于c# - 如何在数据库的文本字段中存储byte []并检索它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14835338/

10-10 18:18