Вы можете получить растровое изображение загруженного изображения следующим образом:
System.Drawing.Bitmap bmpPostedImage = new System.Drawing.Bitmap(userFileUpload.PostedFile.InputStream);
Затем вы получаете сохраненную копию (которая, вероятно, хранится в виде байтового массива, и у вас есть идентификатор для ее получения), а затем конвертируете ее в растровое изображение следующим образом
byte[] byteArrayStoredImage = ImageService.GetImageData(imageID);
MemoryStream imgStream = new MemoryStream(byteArrayStoredImage);
System.Drawing.Bitmap bmpStoredImage = new Bitmap(imgStream);
Имея два растровых изображения (bmpPostedImage и bmpStoredImage), вы можете вызвать функцию для сравнения. Для начала вы можете попробовать эту функцию из http://www.dreamincode.net/code/snippet2859.htm и посмотреть, как она работает. Там могут быть более эффективные функции, чтобы сделать сравнение, попробуйте поиск в Google, что будет забавной попыткой.
EDIT
Найдите ниже код для извлечения изображения из базы данных с предположениями, которые я изложил в комментарии ниже:
public byte[] GetImageData(string imageID)
{
string connectionString = ConfigurationManager.ConnectionStrings["connectionstringname"];
SqlConnection connection = SqlConnection(connectionString);
connection.Open();
SqlCommand command1 = new SqlCommand("select imgfile from myimages where imgname=@imageId", connection);
SqlParameter myparam = command1.Parameters.Add("@imageId", SqlDbType.NVarChar, 30);
myparam.Value = imageID;
byte[] img = (byte[])command1.ExecuteScalar();
connection.Close();
return img;
}
и затем измените ImageService.GetImageData (imageID) на GetImageData (imageID);
Обратите внимание, что обработка ошибок здесь не рассматривается, поэтому, возможно, придется учесть это в вашем конечном коде.