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

Développement Sharepoint .NET Discussion :

Envoi de documents SharePoint vers un webservice


Sujet :

Développement Sharepoint .NET

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2012
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 70
    Points : 61
    Points
    61
    Par défaut Envoi de documents SharePoint vers un webservice
    Bonjour,
    Je dois développer un Event Handler qui envoi les documents contenus dans une bibliothèque SharePoint vers un Web Service en PHP (utilisant la méthode Post).
    En cherchant sur le Web je me rends compte que pour l'envoi de fichier via méthode post, il faut son répertoire.

    Savez-vous comment obtenir le répertoire d'un document SharePoint et si je suis sur la bonne piste ?
    Je compte récupérer le répertoire du fichier et créer une simple requête c# d'envoi de doc vers mon Web Service.

    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Une fois que tu connais l'url d'un document dans SharePoint tu as sont répertoire
    En effet, tu peux accéder au contenu de ton site via le protocole WebDav (ouvrir la liste avec l'explorateur Windows).
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2012
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 70
    Points : 61
    Points
    61
    Par défaut
    Finalement j'ai opté pour récupérer le document depuis SharePoint.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     public override void ItemAdded(SPItemEventProperties properties)
            {
    
     
    NameValueCollection myNameValueCollection = new NameValueCollection();
                //put  
                myNameValueCollection.Add("SAFE_ROOM", "");
                myNameValueCollection.Add("SAFE_ID", "");
                myNameValueCollection.Add("USER_LOGIN", "");
                myNameValueCollection.Add("USER_PASSWD", "");
    
                myNameValueCollection.Add("FILE_NAME", ".txt");
                myNameValueCollection.Add("FILE_HASH", "");
                myNameValueCollection.Add("FILE_HASH_TYPE", "");
                myNameValueCollection.Add("RTNTYPE", "");
    
              
    
                string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
                byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
    
                HttpWebRequest wr = (HttpWebRequest)WebRequest.Create("url");
                wr.ContentType = "multipart/form-data; boundary=" + boundary;
                wr.Method = "POST";
                wr.KeepAlive = true;
                wr.Credentials = System.Net.CredentialCache.DefaultCredentials;
                Stream rs = wr.GetRequestStream();
                string formdataTemplate = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n{1}";
                foreach (string key in myNameValueCollection.Keys)
                {
                    rs.Write(boundarybytes, 0, boundarybytes.Length);
                    string formitem = string.Format(formdataTemplate, key, myNameValueCollection[key]);
                    byte[] formitembytes = System.Text.Encoding.UTF8.GetBytes(formitem);
                    rs.Write(formitembytes, 0, formitembytes.Length);
                }
                rs.Write(boundarybytes, 0, boundarybytes.Length);
                string headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2}\r\n\r\n";
               
                string header = string.Format(headerTemplate, "DOCATTACH", properties.ListItem.File.Name, contentType);
                byte[] headerbytes = System.Text.Encoding.UTF8.GetBytes(header);
                rs.Write(headerbytes, 0, headerbytes.Length);
    
               byte[] filebyte = properties.ListItem.File.OpenBinary();
                rs.Write(filebyte, 0, filebyte.Length);
               
        
    
                byte[] trailer = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
                rs.Write(trailer, 0, trailer.Length);
                rs.Close();
                WebResponse wresp = null;
                wresp = wr.GetResponse();
                Stream stream2 = wresp.GetResponseStream();
                StreamReader reader2 = new StreamReader(stream2);
                var result = reader2.ReadToEnd();
    
                wresp.Close();
                wresp = null;
    }

    Je pense être sur la bonne voie, mais mon web service me dis qu'il me manque le paramètre DOCATTACH que je passe dans mon header. Une idée sur la méthode a utiliser pour l'envoi du fichier ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/03/2013, 20h05
  2. Réponses: 0
    Dernier message: 08/11/2011, 17h43
  3. Transfert document sharepoint vers FTP
    Par Sophie64 dans le forum Configuration
    Réponses: 1
    Dernier message: 15/10/2009, 14h51
  4. [SP-2007] Transfert document sharepoint vers FTP
    Par Sophie64 dans le forum SharePoint
    Réponses: 0
    Dernier message: 06/10/2009, 11h50
  5. Envoi d'un formulaire vers 2 pages differentes
    Par BernardT dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2005, 00h35

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