See also: https://solidt.eu/site/c-download-file-from-database-as-stream/
using MySql.Data.MySqlClient; // Zorg ervoor dat MySqlConnector is geïnstalleerd (MySql.Data) using System.IO; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { string connectionString = "Server=your_server;Database=your_database;User ID=your_user;Password=your_password;"; string query = "SELECT blob_column FROM your_table WHERE id = @Id"; int id = 1; // Stel dit in op de id-waarde van het record dat je wilt ophalen await ReadBlobToFileUsingStreamAsync(connectionString, query, id, "output_file_path"); } static async Task ReadBlobToFileUsingStreamAsync(string connectionString, string query, int id, string filePath) { using (var connection = new MySqlConnection(connectionString)) { await connection.OpenAsync(); using (var command = new MySqlCommand(query, connection)) { command.Parameters.AddWithValue("@Id", id); using (var reader = await command.ExecuteReaderAsync(System.Data.CommandBehavior.SequentialAccess)) { if (await reader.ReadAsync()) { // Haal de index van de kolom op, in dit voorbeeld is de kolomnaam "blob_column" int blobColumnIndex = reader.GetOrdinal("blob_column"); // Verkrijg een stream van de BLOB-kolom using (Stream blobStream = reader.GetStream(blobColumnIndex)) using (FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write)) { // Kopieer de BLOB-stream asynchroon naar de FileStream await blobStream.CopyToAsync(fileStream); Console.WriteLine($"BLOB-gegevens succesvol geschreven naar {filePath}."); } } else { Console.WriteLine("Geen gegevens gevonden voor het opgegeven ID."); } } } } } }
895900cookie-checkMySQL load BLOB as stream to file (async)