Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Chcę załadować obraz z bazy danych do ramki graficznej za pomocą LoadAsync i MemoryStream

Nie ładuj bajtów do obrazu, to zniweczy cel tego, co próbujesz osiągnąć ... (zauważ, że jest to szybkie i nieczyste, aby umieścić obraz w pliku tymczasowym ... jest wiele dodatkowych kwestii, z których nie najmniej ważnym byłoby usunięcie pliku tymczasowego po zakończeniu)

byte[] byteBLOBData = (byte[])ds.Tables["magazine_images"].Rows[c - 1]["image"];
string tempImageFileName = Path.Combine(Path.GetTempPath(), Path.GetTempFileName() + ".jpg");
using( FileStream fileStream = new FileStream(tempImageFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite) ) {
    using( BinaryWriter writer = new BinaryWriter(fileStream) ) {
        writer.Write(byteBLOBData);
    }
}

pictureBox1.LoadCompleted += LoadCompleted;
pictureBox1.WaitOnLoad = false;
pictureBox1.LoadAsync(tempImageFileName);

...

private static void LoadCompleted( object sender, AsyncCompletedEventArgs e ) {
    if( e.Error != null ) {
        // will get this if there's an error loading the file
    } if( e.Cancelled ) {
        // would get this if you have code that calls pictureBox1.CancelAsync()
    } else {
        // picture was loaded successfully
    }
}

zobacz także LoadProgressChanged wydarzenie




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połączenie VB.NET MySQL

  2. Jak połączyć wiele wartości z wielu tabel relacji w jednym zapytaniu mysql?

  3. Numeracja wierszy z p:dataTable

  4. Potrzebujesz pomocy w zrozumieniu obiektów kolekcji produktów Magento oraz katalogu/modelu produktu

  5. MySQL Sortuj alfabetycznie, ale ignoruj ​​​​