Bonjour tout le monde,

J'utilise la base Northwind, qui illustre ses catégories de produits par une image dans le champ Picture, de la table Categories.

Il s'agit donc de données VARBINARY[], qu'on est invité à inscrire dans un fichier, pour que les contrôles Image, puissent y lire l'image, en recevant le chemin du fichier dans leur propriété ImageUrl.

SSMS peut les afficher directement, mais pas Visual Studio Community 2017.

J'ai transféré ça comme ceci, et j'obtiens bien des fichiers, mais Irfanview me dit qu'il ne peut pas lire l'entête (où il est pourtant écrit Bitmap, mais il faut croire qu'il doit en manquer).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
		protected void Page_Load(object sender, EventArgs e)
		{
			ConnectionStringSettingsCollection settings =
				ConfigurationManager.ConnectionStrings;
			SqlConnection conn = 
				new SqlConnection(settings["NORTHWINDConnectionString"].ConnectionString);
			using (conn)
			{
				conn.Open();
				SqlCommand cmd = new SqlCommand(
					"SELECT CategoryID, Picture FROM Categories",
					conn);
				SqlDataReader reader = cmd.ExecuteReader();
				while (reader.Read())
				{
					int i = reader.GetInt32(0);
					Byte[] B = reader.GetFieldValue<Byte[]>(1);
					using (FileStream S = File.Create(Server.MapPath(@"~\App_Data\Categorie" + i.ToString().Trim() + ".bmp")))
					{
						S.Write(B, 0, (int)B.Length);
						S.Close();
					}
				}
			}
 
		}
Si quelqu'un voit le problème ...