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 :

Ouvrir le logiciel adéquat au fichier binaire.


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 109
    Par défaut Ouvrir le logiciel adéquat au fichier binaire.
    Bonjour,

    je souhaiterai savoir comment lire un fichier binaire stocker dans une base de données SQL Server 2005 sous le type nvarbinary(max)

    Je suis bloqué à mon tableau de byte.

    Une fois que j'ai récupéré ce fichier binaire je ne vois pas comment ouvrir ce fichier et le rendre lisible avec sa mise en forme etc. Il s'agit souvent de fichier .doc ou .pdf et pas de simple fichier texte.

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    bien souvent, pour ne pas s'embeter avec ton problème, au moment du stockage en base, on stock sont extension( ou son nom) et on s'en ressert à l'export pour l'ouvrir avec le bon programme.

    tu peux comme tu dis, t'amuser à lire les tableaux de bytes et faire un gros switch dans ton code, ou stocker l'extension et faire un switch plus "parlant"

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 109
    Par défaut
    Je stocke bien le nom de fichier complet (avec l'extension).

    Je ne vois en revanche pas comment "créer" le fichier provenant de la base stocké dans une colonne varbinary(MAX).

  4. #4
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    c'est simple en base, tu as
    - le champ qui stocke tes bytes
    - le champ qui stocke le nom

    côté code, tu code un select avec ta chaine binaire, ton nom (dont tu exporteras l'extension pour faire ton switch).
    pour "créer" ton fichier, tu n'as qu'à créer un Binarywriter et faire bin.Write(tachainebibi);

    puis faire un process.start(fichier) ca lancera le logiciel par défaut OU un process.start du logiciel désiré et ton fichier en paramètre

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 109
    Par défaut
    Merci pour ces précisions. Je reviens vers vous pour le "résolu" sans doute.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 109
    Par défaut
    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
     
     
    if (myDataReader != null)
                    {
                        while (myDataReader.Read())
                        {
                            pj = new PieceJointe();
                            pj.Id = Convert.ToInt32(myDataReader["ID_PIECE_JOINTE"].ToString());
                            pj.Filesize = Convert.ToInt32(myDataReader["FILESIZE"]);
                            pj.Filename = myDataReader["NOM_FICHIER"].ToString();
                            pj.DateCreation = Convert.ToDateTime(myDataReader["DATE_CREATION"]);
                            pj.DateMAJ = Convert.ToDateTime(myDataReader["DATE_MAJ"]);
                            pj.FichierBinaire=(byte[])myDataReader["FICHIER"];
    //je recupere bien mon fichier binaire stocké dans un tableau de byte
                            StreamWriter strWr = new StreamWriter("C:\\" + pj.Filename);
    //je créé un fichier sur mon Disque C pour une ouverture temporaire
     
                            strWr.Write(pj.FichierBinaire);
    strWr.Flush();
    strWr.Close();
     
    ...
    Le fichier se créé correctement mais son contenu est "System.Byte[]".
    Je suppose que mon strWr.Write ne reçoit pas l'argument qu'il souhaiterait...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Ouvrir des fichiers binaires
    Par Moulahi dans le forum MATLAB
    Réponses: 3
    Dernier message: 02/04/2015, 21h40
  2. Fichier binaire impossible à ouvrir
    Par black411 dans le forum MATLAB
    Réponses: 11
    Dernier message: 18/03/2013, 10h08
  3. [XL-2000] Comment ouvrir un logiciel puis plusieurs fichiers
    Par Kelaydos dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/09/2012, 16h40
  4. communication fichier binaire fichier txt
    Par micdie dans le forum C
    Réponses: 3
    Dernier message: 05/12/2002, 00h19
  5. fichier binaire ou texte
    Par soussou dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/06/2002, 13h39

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