.NET将文件转换为图像以存储在数据库中

时间:2012-11-14 16:59:12

标签: asp.net .net

有没有人知道.NET中的一种方法来获取文件的传入流并将其转换为要存储在数据库中的图像? (不确定这是否可行,但想检查一下)。

编辑:它不一定是图像流

3 个答案:

答案 0 :(得分:2)

您需要将流读入byte[],然后将其保存到数据库中。

答案 1 :(得分:2)

您可以将图像流转换为字节数组,并以二进制或varbinary数据类型存储在数据库中。

答案 2 :(得分:0)

以下是将图像转换为C#中的字节数组的简短示例:

private static byte[] ReadImage(string p_postedImageFileName, string[] p_fileType)
{
    bool isValidFileType = false;
    try
    {
        FileInfo file = new FileInfo(p_postedImageFileName);

        foreach (string strExtensionType in p_fileType)
        {
            if (strExtensionType == file.Extension)
            {
                isValidFileType = true;
                break;
            }
        }
        if (isValidFileType)
        {
            FileStream fs = new FileStream(p_postedImageFileName, FileMode.Open, FileAccess.Read);

            BinaryReader br = new BinaryReader(fs);

            byte[] image = br.ReadBytes((int)fs.Length);

            br.Close();

            fs.Close();

            return image;
        }
        return null;
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

#endregion