Obtenir des fichiers du dossier _layouts dans SharePoint
Je suis actuellement en train de travailler sur un projet où je suis en ajoutant docx fichiers pour la Mise en page du dossier dans Visual Studio et ensuite utiliser ces ducment fichiers pour créer des Types de Contenu.
Le problème est que je ne peux pas obtenir les fichiers de document de la programmation. En utilisant le navigateur web je peux récupérer les fichiers, mais pas à l'aide de web.GetFolder();. Le code est exécuté dans un Récepteur de Fonctionnalité quand une fonctionnalité est activée.
SPSite site = properties.Feature.Parent as SPSite;
SPWeb web = site.RootWeb;
SPFolder docTempFolder = web.GetFolder("_LAYOUTS/Projekt/DocumentTemplates");
Ce code me donner une collection avec zéro fichiers.
Ce que je fais mal?
Merci pour votre aide.
double possible de récupérer le Chemin du Répertoire à 12 Ruche par programmation
OriginalL'auteur carruw | 2012-06-19
Vous devez vous connecter pour publier un commentaire.
SPFolder
est pour obtenir des objets à partir de bibliothèques de documents SharePoint/lists. Vous ne pouvez pas accéder à des fichiers dans votre système de fichiers (le 14 ruche) en essayant de les jeter comme uneSPFolder
. Aussi, vous ne pouvez pas utiliserSPWeb.GetFolder
que les fichiers ne sont nulle part près de votre site web. Ils sont sur votre disque dur.Vous pourriez obtenir de l'14 ruche en utilisant
GetGenericSetupPath
, donc quelque chose de ce genre:Ce chemin, vous pouvez maintenant Accéder avec un flux régulier de lecteurs,
System.IO.File
etc.EDIT: Pour SharePoint 2013 et au-dessus du méthode est obsolète comme dans les plus récentes versions de SharePoint références à la
_layouts
dossier contient toujours la version de SharePoint dans le chemin d'accès (par exemple,/_layouts/15
pour SharePoint 2013/_layouts/14
pour SharePoint 2010.La nouvelle méthode est
SPUtility.GetVersionedGenericSetupPath
. La méthode ne existe pas dans SharePoint 2010.Vous avez raison. J'ai rajouté un edit pour le post.
Solide. Grande mise à jour!
OriginalL'auteur Dennis G