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 :

SPFile Length toujours à 0 byte


Sujet :

Développement Sharepoint .NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut SPFile Length toujours à 0 byte
    Bonjour,

    Je suis confronté à un problème de dev sous C# / SharePoint depuis un bout de temps...

    J'essaye d'accéder à un fichier dans un dossier d'une bibliothèque de document sharepoint depuis un Timer Job SharePoint.
    J'arrive à lire les métadonnées de mes SPItem et les propriété des documents attaché mais quand je veux extraire le flux (ce que j'ai besoin de faire au final), cela ne marche pas ! d'ailleurs la propriété SPFile.Length est toujours à 0 bytes ! Quelque soit le fichier lu dans ma biblio. !

    Avez vous une idée ? J'ai tout essayé (élévation droits d'accès, checkout fichier, méthode OpenBinary() ...) Rien ne marche

    ms_pj = new MemoryStream();
    file = elevatedWeb.GetFile(fileTemp.UniqueId);
    file.CheckOut();
    String file_l = file.Length.ToString(); // = 0 toujours !
    String file_url = file.Url; // OK !
    String file_url = file.Name; // OK !

    byte[] data = new byte[]{};
    file.SaveBinary(data); // Ne marche pas car file.Length = 0 !!

  2. #2
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Bonjour,

    est ce que File.IsExists retourne "True"?
    Merci d'utiliser en cas de résolution de votre problème

    N'oubliez pas non plus le petit pouce vert pour récompenser celui que vous a aidé

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    File.Exists renvoie true.

    Mes documents sont bien téléchargeable depuis la liste sharepoint.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Bonjour,

    Pouvez-vous valider si le bout de code marche sans problème depuis un exécutable indépendant du timer job?

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Non il ne fonctionne pas non plus en éxécutable.

  6. #6
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Bonjour,

    ce que vous essayer de faire est très basique. Il y a forcément un problème dans votre algorithme, avez vous essayer depuis un tutoriel?
    Merci d'utiliser en cas de résolution de votre problème

    N'oubliez pas non plus le petit pouce vert pour récompenser celui que vous a aidé

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour effectivement c'est très simple !

    J'ai suis déjà passé par plusieurs forums et msdn pour tenter de trouver le bon algo. Et au final l'algo que j'ai mis en place est correct, il est utilisé pas des développeurs pour qui cela fonctionne ... Ca fait plusieurs années que je développe sous SharePoint et je n'avais encore jamais rencontré ce genre de problème étrange ...

  8. #8
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 246
    Points : 194
    Points
    194
    Par défaut
    j'ai déjà eu le même soucis.
    j'ai au final utilisé un autre chemin pour recupérer le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      string path = ((string)Item[ItemFields.DocumentPath]).Trim();
                            if (File.Exists(path))
                            {
                                try
                                {
                                    FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
                                    Byte[] Img = new byte[fs.Length];
                                    fs.Read(Img, 0, Convert.ToInt32(fs.Length));
                                    fs.Close();       
                                }
                                catch (exception ex) { }
                             }

    est ce que cette approche fonctionne ?

  9. #9
    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
    Autre piste peut-être...
    Si tu utilises la collection de pièces jointes de ton item item.Attachments (dans un foreachpar exemple) et que tu récupères ton fichier à l'aide de la méthode web.GetFile() as-tu le même problème ?
    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

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Le probleme est il reproductible:
    - dans un autre SPSite de la meme appli ?
    - dans une autre SPWebAppli de la meme ferme ?
    - dans une autre SPFarm a config equivalente ?

    Ce file.CheckOut() est-il vraiment necessaire ?

Discussions similaires

  1. Warning! The maximum key length is 900 bytes
    Par serge0934 dans le forum Développement
    Réponses: 12
    Dernier message: 15/06/2012, 18h35
  2. [Batch] zero length file / zero byte file
    Par cppcpp1 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 28/05/2010, 12h38
  3. max key length is 1000 bytes
    Par saramery dans le forum Administration
    Réponses: 0
    Dernier message: 03/05/2010, 18h51
  4. [MySQL] POST Content-Length exceeds the limit of 0 bytes
    Par ballantine's dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/11/2009, 10h21
  5. Port sériel et méthode Write(byte[],offset,length)
    Par TheCaribouX dans le forum C#
    Réponses: 6
    Dernier message: 02/06/2008, 17h10

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