IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

lire plusieurs images à partir de SQL SERVER


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Par défaut lire plusieurs images à partir de SQL SERVER
    Bonjour , je voudrais récupérer fichier exe de type varbinary et les afficher dans une boucle en C# . J'utilise un table de byte . Mais le code ne récupère qu'une seule image , alors que la boucle marche bien . Pouvez vous m'aider à afficher toutes mes images dans ma page Voici mon code :

    Code C# : 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
                string chaine = ConfigurationManager.AppSettings["connectionString"];
                SqlConnection cnx = new SqlConnection(chaine);
                cnx.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = cnx;
                //cmd.CommandText = "select * from PiecesNumerisees where NumeroInstance='C0002'" ;
                //SqlDataAdapter dr = new SqlDataAdapter("select * from PiecesNumerisees where NumeroInstance='C00002'", cnx);
                SqlDataAdapter dr = new SqlDataAdapter("select * from PiecesNumerisees  where FileID=1 or   FileID=3 ", cnx);
                SqlCommandBuilder MyCB = new SqlCommandBuilder(dr);
                DataSet ds = new DataSet("PiecesNumerisees");
                DataSet oDataSet = new DataSet("PiecesNumerisees");
                //dr.Fill(oDataSet, "PiecesNumerisees");
                dr.Fill(ds, "PiecesNumerisees");
                // Affichage du contenu de oDataSet avant insertion de données
                byte[][] scores = new byte[4][];
                DataRow myRow, myRow2;
                byte[] MyData = new byte[4];
                for (int i = 0; i < ds.Tables["PiecesNumerisees"].Rows.Count; i++)
                {
                    int a = 0;
                    // Response.Write(oDataSet.Tables["PiecesNumerisees"].Rows[i][2].ToString());
     
     
                    myRow = ds.Tables["PiecesNumerisees"].Rows[i];
                    //MyData = (byte[])myRow["fichier"];
                    scores[i] = new byte[4];
                    scores[i] = (byte[])myRow["fichier"]; 
     
     
     
                }
                for ( int i = 0; i < ds.Tables["PiecesNumerisees"].Rows.Count; i++)
                {
     
                   Response.BinaryWrite(scores[i]);
                    Response.Write(" <img src=EssaiBD.aspx />");
                }

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Tu ne peux pas insérer une image sous forme binaire dans une page html. Tu ne peux mettre que le code html (la balise <img />) qui va permettre au navigateur d'aller chercher cette ressource. C'est ce que ta boucle doit faire.

    Si les images sont stockées en base il faut que tu créés un moyen de les réstituer indépendament du reste de la page. Prend exemple sur ce tutoriel: http://humann.developpez.com/httphandler/#LIII.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Par défaut
    En fait , c'est ce que je fait , j'affiche le code binaire dans ma page HTML et je l'appelle ailleurs dans une autre page en mettant img source mais mon pb , c'est que le tableau ne prend qu'une seule image alors que j'en ai plusieurs dans ma base de données . Je précise que la boucle s'effectue bien car quand j'essaie d'afficher tous les enregistrements des autres colonnes , ceci marche .
    Comme faire pour afficher toutes mes images

  4. #4
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par regisyves Voir le message
    En fait , c'est ce que je fait , j'affiche le code binaire dans ma page HTML
    Ta page envoi un flux et ne peut pas mélanger du html et du binaire.

    Dans la page qui affiche le tableau tu dois avoir à chaque fois que tu veux afficher une image une balise html du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <tr><td>...</td><td><img src="mondossier/mapage.aspx?identifiantImage=123" /></td></tr>
    <tr><td>...</td><td><img src="mondossier/mapage.aspx?identifiantImage=456" /></td></tr>
    <tr><td>...</td><td><img src="mondossier/mapage.aspx?identifiantImage=789" /></td></tr>
    La page ne dois pas boucler sur toutes tes images mais uniquement celle correspondant à l'identifiant.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Par défaut
    Mais je ne veux pas utiliser de dossier , je veux afficher mon image directement à partir de la base de données

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Par défaut
    Mais je ne veux pas utiliser de dossier , je veux afficher mes images directement à partir de la base de données . Je veux afficher plusieurs images et non une image

  7. #7
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Les réponses fournies par Immobilis sont correctes:
    - Tu fais un HTTPHandler qui effectue la requête SQL pour recupérer le contenu de l'image et tu le renvoies (http://aspalliance.com/1322_Displayi...HttpHandlers.5).
    - Ensuite tu utilises une balise <img> par image à afficher

    Il n'y a aucunement besoin de dossiers


    Tu ne peux pas insérer une image sous forme binaire dans une page html.
    Petite précision, tu peux afficher une image directement dans la page en les encodant en base 64 (mais c'est peu utilisé, parfois dans les fichiers css pour les petites images)

  8. #8
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par regisyves Voir le message
    Mais je ne veux pas utiliser de dossier
    Ok c'est un dossier qui pourrait correspondre à la structure de ton site, mais ce n'est effectivement pas obligatoire. Perso, je ne sais pas où se trouve la page dans laquelle tu fais ta requête
    Citation Envoyé par regisyves Voir le message
    Je veux afficher plusieurs images et non une image
    Ce qui serait bien c'est que tu essayes de faire ce qu'on te propose (sans te commander ).

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. lire plusieurs images à partir de SQL SERVER
    Par regisyves dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/03/2013, 09h41
  2. Réponses: 3
    Dernier message: 25/08/2009, 12h54
  3. Importer une base à partir de SQL Server
    Par Chikh001 dans le forum DB2
    Réponses: 6
    Dernier message: 16/08/2007, 16h19
  4. Récupérer une image à partir de SQL server
    Par programmationc dans le forum Accès aux données
    Réponses: 5
    Dernier message: 19/02/2007, 13h48
  5. Réponses: 1
    Dernier message: 03/01/2006, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo