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

SharePoint .NET Discussion :

Créer un Document dans une liste avec du code


Sujet :

SharePoint .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 87
    Par défaut Créer un Document dans une liste avec du code
    bonjour,

    j'ai une liste de document [Document Library] dans mon site, comment je pourrai creer un nouveau document dans cette liste avec du code.

    merci

  2. #2
    Membre averti
    Inscrit en
    Février 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 55
    Par défaut
    Bonjour,

    J'ai été soumis au même problème que toi la semaine dernière et voici la solution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SPList list // paramètre reçu par ma fonction, c'est la liste sur laquelle travaille mon event
    list.ParentWeb.AllowUnsafeUpdates = true;
    SPFolder fold = list.ParentWeb.Folders[list.Title];
    fold.Files.Add(folder + "\\" + nom_fichier, fichier);
    Explication du code somme toute assez simple mais dure à trouver quand on connait pas
    Soit tu démarre en ayant déjà une instance de ta liste sous forme de SPList reçue en paramètre dans mon cas.
    Soit tu as un objet SPWeb.
    Dans les deux cas, il faut ouvrir ta liste en tant qu'une instance d'un objet SPFolder. Il faut également que tu autorise le site web à recevoir de UnsafeUpdate sinon ca ne passe pas.
    Me demande pas pourquoi, je n'ai pas trouver de réponses. Je pense que ca doit être une question de droit. Il doit être possible de faire exécuter le code en tant qu'utilisateur x ou y mais je n'ai pas encore cherché.

    Voila j'espere avoir répondu à ta question le plus clairement possible

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 87
    Par défaut
    merci pour la reponse j'ai fait presque la meme chose, je pense que c'est le unsafeupdate qui pose probleme, je vai l'ajouter a mon code et je te reponderai
    merci

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut
    J'ai créé une application Console qui est censée parcourir un répertoire et uploader le contenu dans une bibliothèque de documents Sharepoint (ici en version WSS 2.0). L'application marche parfaitement pour un site mais pas pour un autre et pourtant j'ai mis AllowUnsafeUpdates à true. Le compte qui lance l'.exe est admin du serveur et owner des 2 sites.

    Voici ma fonction:

    public bool createSharepointDocument(string code)
    {
    bool ok;
    long fileSizeLong = _myFileInfo.Length;
    int fileSize = Convert.ToInt32(fileSizeLong);
    _myFileStream = new FileStream(_myFileInfo.FullName, FileMode.Open, FileAccess.Read);
    byte[] bArray = new byte[fileSize];
    _myFileStream.Read(bArray, 0, fileSize);
    folderPath = _mySite.Url + "/" + code;
    Console.WriteLine(folderPath+"/"+_myFileInfo.Name);
    SPFolder myFolder = _myWeb.GetFolder(folderPath);
    // Set AllowUnsafeUpdates = true to avoid security error
    _myWeb.AllowUnsafeUpdates = true;
    try
    {
    myFolder.Files.Add(folderPath + "/" + _myFileInfo.Name, bArray, true);
    ok = true;
    }
    catch (Exception e2)
    {
    ok = false;
    Console.Out.WriteLine(e2.Message);
    }
    return ok;
    }

    Merci pour l'aide

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 87
    Par défaut
    ben si tu l'a deja testé sur un site et que sa a marché ça sera le cas pour n'importe kel site wss. donc a mon avis c'est une question autorisations au niveau de votre site. verifier les permissions et les privilege de l'utilisateur qui execute la fonction par rapport a la liste de document

  6. #6
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut
    Citation Envoyé par must19 Voir le message
    ben si tu l'a deja testé sur un site et que sa a marché ça sera le cas pour n'importe kel site wss. donc a mon avis c'est une question autorisations au niveau de votre site. verifier les permissions et les privilege de l'utilisateur qui execute la fonction par rapport a la liste de document
    Le compte en question est admin du serveur et owner des 2 sites, c'est ça que je ne comprends pas.
    En plus, pour le site où ça marche, si je ne précise pas AllowUnsafeUpdates sur true, ça marche quand même.

Discussions similaires

  1. choix dans une liste avec un radio bouton
    Par spinnaker dans le forum Struts 1
    Réponses: 1
    Dernier message: 19/03/2008, 22h03
  2. se positionner dans une Liste avec sa value
    Par anthropo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/06/2007, 07h56
  3. comment mettre une image dans une liste avec les values ?
    Par Ekimasu dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/05/2007, 17h51
  4. Réponses: 12
    Dernier message: 12/03/2007, 16h58
  5. Ajout dans une liste avec un bouton
    Par Invité dans le forum Access
    Réponses: 6
    Dernier message: 07/12/2005, 08h27

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