sql >> Database >  >> RDS >> Mysql

Ik wil een afbeelding uit de database in een afbeeldingsvak laden met LoadAsync en een MemoryStream

Laad de bytes niet in de afbeelding, dat zal het doel van wat u probeert te bereiken teniet doen... (let op:dit is een quick-n-dirty om de afbeelding in een tijdelijk bestand te krijgen... er is een veel aanvullende overwegingen hier, niet de minste daarvan zou zijn om het tijdelijke bestand te verwijderen als je klaar bent)

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

zie ook de LoadProgressChanged evenement




  1. Laravel-tijdstempels om milliseconden weer te geven

  2. mysql nieuwe gebruiker toegang geweigerd

  3. Records van de afgelopen 7 dagen ophalen in MySQL

  4. Hoe krijg ik alle berichten met alle categorieën in wordpress via mysql?