Mysql
 sql >> база данни >  >> RDS >> Mysql

Искам да заредя изображение от базата данни в кутия за картина, използвайки LoadAsync и MemoryStream

Не зареждайте байтовете в изображението, това ще попречи на целта на това, което се опитвате да постигнете... (обърнете внимание, че това е бързо и мръсно, за да поставите изображението във временен файл... има много допълнителни съображения тук, не на последно място би било да изтриете временния файл, когато сте готови)

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
    }
}

вижте също LoadProgressChanged събитие




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какъв е най-бързият начин за анкетиране на MySQL таблица за нови редове?

  2. Как да изберете текст от масива на mysql и да сравните

  3. Урок за MySQL – Разбиране на секундите зад главната стойност

  4. Mysql заявка за разстояние

  5. php,postgresql,mysql