sql >> Database teknologi >  >> RDS >> Mysql

Jeg vil indlæse billede fra databasen til en billedboks ved hjælp af LoadAsync og en MemoryStream

Indlæs ikke bytes i billedet, det vil besejre formålet med det, du forsøger at opnå... (bemærk, at dette er en hurtig-n-beskidt at få billedet ind i en midlertidig fil... der er en en masse yderligere overvejelser her, ikke mindst af dem ville være at slette den midlertidige fil, når du er færdig)

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

se også LoadProgressChanged begivenhed




  1. Hvordan sikrer man databasekonfigurationsfilen i projektet?

  2. Skift datoformat (i DB eller output) til dd/mm/åååå - PHP MySQL

  3. MySQL gennemsnitligt antal timer mellem oprettede datotider for et bestemt tidsinterval

  4. MySQL Hvordan INSERT I en tabel med en SELECT underforespørgsel, der returnerer flere rækker?