2009-09-30 2 views
0

Я хочу, чтобы пользователь выбирал изображение для загрузки для своего аватара.Использование ASP.Net для сохранения изображения с помощью элемента управления FileUpload

Так что в моей форме, я спрашиваю его имя пользователя, пароль, DOB и т.д. ...

Делаю объект [] массив и округление каждое поле, а затем передать этот массив в мой метод, который сохраняет информацию в моей базе данных. Как я могу «получить» двоичную информацию из выбранного изображения (поле БД - это тип varbinary (max)) и сохранить его как объект в массиве object [], чтобы THEN передать его моему методу Save()?

ответ

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(); 
    } 
} 
Смежные вопросы