使用ASP.Net使用FileUpload控件保存图像

时间:2009-09-30 00:40:46

标签: asp.net binary

我希望用户选择要为其头像上传的图片。

所以在我的表格中,我要问他的用户名,密码,DOB等......

我正在创建一个object []数组并将每个字段四舍五入,然后将该数组传递给我的方法,该方法将信息保存到我的数据库中。如何从所选图像“获取”二进制信息(DB字段是varbinary(max)类型)并将其保存为object []数组中的对象,然后将其传递给我的Save()方法?

1 个答案:

答案 0 :(得分:3)

您应该能够将byte[]数组传递到varbinary(max)字段。在这种情况下:

void Submit_Click(object sender, EventArgs e)
{
    //read your other fields
    object file = ReadStream(myFileUploadControl.PostedFile.InputStream);
    //call save
}

public static byte[] ReadStream(Stream input)
{
    byte[] buffer = new byte[16 * 1024];
    using (MemoryStream ms = new MemoryStream())
    {
        int read;
        while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
        {
            ms.Write(buffer, 0, read);
        }
        return ms.ToArray();
    }
}