Çok basit bir proje üzerinde çalışıyorum (ne olmalıydı).C# Görüntüyü BLOB'a Dönüştürme ve Sonucu Metin kutusuna Kaydetme
(1) 'e ihtiyaç duyar. Bir kullanıcının bir görüntü dosyasını seçmesine izin verin ve ardından bunu bir veritabanında BLOB olarak kaydedilebilecek bir biçime dönüştürün.
(2). BLOB verilerini bir metin kutusuna aktarın.
(3). Kutuda çıkarılan metnin bir veritabanına depolanabilmesi ve daha sonra başarılı bir şekilde bir görüntüye dönüştürülebilmesi gerekir (bu dönüşüm başka bir yerde işlenir.)
Bu uygulamanın burada yalnızca ilk dönüşümü yapması beklenir. (BLOB'a) böylece kullanıcı görüntüyü bir SQL veritabanına ekleyebilir. Ancak, programı ne zaman çalıştırsam, dosyayı açmayı denediğimde 'donuyor'. Neyi yanlış yapıyorum? Neyi başarmak için daha verimli bir yaklaşım var mı? Ben yapmaya çalışıyorum?
teşekkürler çok!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Controls;
using System.Windows.Forms;
using System.IO;
namespace Binary_Converter
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
private OpenFileDialog imageDialog = new OpenFileDialog();
private FileStream imageStream;
public MainWindow()
{
InitializeComponent();
imageDialog.InitialDirectory = "c://";
imageDialog.Filter = "Image Files | *.jpg; *.gif; *.png";
imageDialog.FileOk += imageDialog_FileOk;
}
private void UI_Loaded(object sender, RoutedEventArgs e)
{}
void imageDialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
if((imageStream = (FileStream)imageDialog.OpenFile()) != null) {
byte[] buffer;
using(imageStream) {
buffer = new byte[imageStream.Length];
imageStream.Read(buffer, 0, (int)imageStream.Length);
}
foreach(byte i in buffer) {
outputText.Text += buffer[i];
}
}
}
private void addFileButton_Click(object sender, RoutedEventArgs e)
{
imageDialog.ShowDialog();
}
}
}