br = new BinaryReader(new BufferedStream(fs)); while (lu < (Int32)fs.Length) { restant = (Int32)fs.Length - lu; if (restant < 8092) //On vérifie s'il reste un chunk de plus de 8092o à lire ... { bytes = br.ReadBytes(restant); lu = (Int32)fs.Length; } else { bytes = br.ReadBytes(8092); lu += 8092; } progressBar1.Value = (lu * 100) / (Int32)fs.Length; progressBar1.Refresh(); //On pousse maintenant le chunk lu dans la table syn_contenu_fichiers commande = new NpgsqlCommand("INSERT INTO syn_contenu_fichiers(fichier, splitid, contenu) VALUES(:fichier, :splitid, :contenu)", conn); param = new NpgsqlParameter(":fichier", DbType.Int32); param.Value = idfichier; commande.Parameters.Add(param); param = new NpgsqlParameter(":splitid", DbType.Int32); param.Value = partie; commande.Parameters.Add(param); param = new NpgsqlParameter(":contenu", DbType.Binary); param.Value = bytes; commande.Parameters.Add(param); commande.Prepare(); commande.ExecuteNonQuery(); partie++; } br.Close();