Bir resim karesi yüklediğimde bu görüntü ile de oluşturulmuş görüntü bende db depolamak ama problem nasıl karma veritabanında saklayabilirim.Önemli kodum.Resim Hash ekleme C#
private void FirstpictureBox_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Select First Image";
ofd.Filter = "Image File(*.png;*.jpg;*.bmp;*.gif)|*.png;*.jpg;*.bmp;*.gif";
if (ofd.ShowDialog() == DialogResult.OK)
{
FirstpictureBox.Image = new Bitmap(ofd.FileName);
byte[] imgBytes = new byte[0];
//convert image to byte array
imgBytes = (byte[])converter.ConvertTo(FirstpictureBox.Image, imgBytes.GetType());
//compute SHA hash string from image bytes
string hash = ComputeHashCode(imgBytes);
}
}
private string ComputeHashCode(byte[] imgBytes)
{
//Compute hash bytes
byte[] hash = shaEncryptor.ComputeHash(imgBytes);
//Convert hash bytes to string representation
return Convert.ToBase64String(hash);
}
public void ImageHash(string hash)
{
}
private void SaveRecord()
{
ImageHash(hash);
string connString = ConfigurationManager.ConnectionStrings["dbx"].ConnectionString;
string cmdString = "INSERT INTO users (img1,hash) VALUES (@firstimage,@hash)";
using (OleDbConnection con = new OleDbConnection(connString))
{
using (OleDbCommand cmd = new OleDbCommand(cmdString, con))
{
con.Open();
cmd.Parameters.AddWithValue("@firstimage", savePhoto());
cmd.Parameters.AddWithValue("@hash", hash);
cmd.ExecuteNonQuery();
}
}
}
i SaveRecord içinde (hash) işlevi ImageHash çağırdığınızda() fonksiyonu bu bana ben bu sorunu çözebilirsiniz cari context.how var olmayan bir error.hash verir.
Kod doğru mu? 'ImageHash()' hiçbir şey yapmaz ve 'SaveRecord()' kayıtsız bir değişken 'karma 'kullanırsınız, derleme hatası buradan gelir. Hesaplamadan sonra 'string hash = ComputeHashCode (imgBytes)' ile hiçbir şey yapmazsınız. Belki 'imgbytes' ve' hash' '' SaveRecord() 'fonksiyonuna geçmeli ve' FirstpictureBox_Click() 'olarak adlandırmalısınız? –
Evet, bir "hash" değişkeni kullanmaya çalışıyorsunuz, ancak bunu bildirmediniz. Bu değişkenin nereden geleceğini düşünüyorsunuz? Belki de onu parametre olarak eklemek istersiniz? Bunu elde etmek için 'ComputeHashCode' yöntemini çağırın. Bu soruya gerçekten hash bir şey yok ... –