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 :

Obtention du bon Type MIME pour les documents docx


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Par défaut Obtention du bon Type MIME pour les documents docx
    Bonjour,

    J'utilise le composant UpFileLoad pour télécharger un fichier et enregistrer différentes informations le concernant dans la base de données au moyen des instructions suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    command.CommandText = "INSERT INTO TableImage(Image,Chemin,Taille,DateCreation,ContentType) values (@file_bytes,@Chemin,@Taille,@DateCreation,@ContentType)";
                                    command.Parameters.Add("file_bytes", SqlDbType.VarBinary).Value = FileUpload1.FileBytes;
                                    command.Parameters.Add("Chemin", SqlDbType.VarChar, 50).Value = FileUpload1.FileName;
                                    command.Parameters.Add("Taille", SqlDbType.VarChar, 50).Value = FileUpload1.PostedFile.ContentLength;
                                    command.Parameters.Add("DateCreation", SqlDbType.Date).Value = DateTime.Now.ToString();
                                    command.Parameters.Add("ContentType", SqlDbType.VarChar, 50).Value = FileUpload1.PostedFile.ContentType;
    J'ai remarqué que lorsque j'enregistre un fichier .docx (word 2007), j'obtiens le type MIME suivant :
    application/vnd.openxmlformats-officedocument.word

    Je rencontre alors un problème (seulement pour les documents docx) lorsque je veux télécharger le fichier chez le client car j'obtiens un message d'erreur au niveau de l'encodage des caractères :

    Une partie de mon code pour télécharger le document chez le client :

    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
    DataTable tableFichier = new DataTable();
                using (SqlConnection cnDataBase = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString()))
                {
                    cnDataBase.Open();
                    SqlCommand cmTable = new SqlCommand("select * from TableImage where Chemin=@CheminFichier", cnDataBase);
     
                    cmTable.Parameters.Add("@CheminFichier", SqlDbType.VarChar, 50);
                    cmTable.Parameters["@CheminFichier"].Value = Nomfich;
     
                    SqlDataAdapter daTable = new SqlDataAdapter(cmTable);
                    daTable.Fill(tableFichier);
                }
     
              if (tableFichier.Rows.Count > 0)
                {
                   Response.Clear();
                    Response.ContentEncoding = System.Text.Encoding.UTF8;
                    Response.ContentType = tableFichier.Rows[0]["ContentType"].ToString();
                    Response.OutputStream.Write((byte[])tableFichier.Rows[0]["Image"], 0, Convert.ToInt32(tableFichier.Rows[0]["Taille"]));
                    Response.End()};
    J'ai remarqué que si je teste avec le code ci-dessous, le document docx arrive à s'ouvrir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Context.Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
    Comment pourrais-je alors faire pour obtenir le bon type MIME lors de l'enregistrement dans ma base de données qui me permettrait d'ouvrir mon document ?

    Merci.

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu dois coder qqpart (ou en base) tous les codes MIME en fonction de l'extension.
    Tu te sers de cette liste pour setter le ContentType

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526

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

Discussions similaires

  1. [CSV] recherche d'un type MIME pour fichier CSV
    Par clavier12AZQSWX dans le forum Langage
    Réponses: 1
    Dernier message: 11/05/2009, 18h11
  2. [Spip] bouton suivant precedent pour les documents images d'un article
    Par oceane751 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 09/12/2008, 16h51
  3. Type MIME pour asp
    Par naitregitan dans le forum ASP
    Réponses: 3
    Dernier message: 17/04/2008, 23h29
  4. Quel type SQL pour les chiffres
    Par marquito dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/06/2007, 15h23
  5. API pour les documents word (*.doc,*.rtf)
    Par Bradarys dans le forum Windows
    Réponses: 10
    Dernier message: 16/11/2005, 13h45

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