2012-06-19 15 views
5

में _layouts फ़ोल्डर से फ़ाइलें प्राप्त करें मैं वर्तमान में एक प्रोजेक्ट पर काम कर रहा हूं जहां मैं विजुअल स्टूडियो में लेआउट फ़ोल्डर में docx-files जोड़ रहा हूं और फिर सामग्री प्रकार बनाने के लिए उन दस्तावेज़ों का उपयोग कर रहा हूं।SharePoint

समस्या यह है कि मैं दस्तावेज़ फ़ाइलों को प्रोग्रामेटिक रूप से प्राप्त नहीं कर सकता। वेब ब्राउजर का उपयोग करके मैं फाइलें प्राप्त कर सकता हूं लेकिन वेब का उपयोग नहीं कर रहा हूं। गेटफोल्डर(); एक सुविधा सक्रिय होने पर कोड फ़ीचर रिसीवर में चल रहा है।

SPSite site = properties.Feature.Parent as SPSite; 
SPWeb web = site.RootWeb; 

SPFolder docTempFolder = web.GetFolder("_LAYOUTS/Projekt/DocumentTemplates"); 

यह कोड मुझे शून्य फ़ाइलों के साथ एक संग्रह देता है।

मैं क्या गलत कर रहा हूं?

मदद के लिए धन्यवाद।

+0

संभावित डुप्लिकेट [12 हाइव प्रोग्रामेटिक रूप से निर्देशिका पथ प्राप्त करें] (http://stackoverflow.com/questions/943933/get-directory-path-to-12-hive -programmatically) – Goyuix

उत्तर

7

SPFolder SharePoint दस्तावेज़ पुस्तकालयों/सूचियों से ऑब्जेक्ट प्राप्त करने के लिए है। आप उन्हें एक SPFolder के रूप में कास्ट करने के लिए कोशिश कर रहा द्वारा अपने फाइल सिस्टम (14 छत्ता) में फ़ाइलों को एक्सेस नहीं कर सकते हैं। इसके अलावा, आप SPWeb.GetFolder उपयोग नहीं कर सकते के रूप में फाइल अपने वेब के पास कहीं भी नहीं कर रहे हैं। वे आपके हार्डडिस्क पर हैं।

आप GetGenericSetupPath का उपयोग करके 14 छत्ता मिल सकता है, तो कुछ इस तरह काम करेगा:

var path = SPUtility.GetGenericSetupPath(@"TEMPLATE\LAYOUTS\Projekt\DocumentTemplates"); 

नियमित धारा पाठकों के साथ इस पथ आप कर सकते थे अब प्रवेश, System.IO.File आदि


संपादित करें: SharePoint 2013 के लिए और उल्लिखित विधि के ऊपर _layouts फ़ोल्डर में नए SharePoint संस्करण संदर्भों के रूप में अप्रचलित है हमेशा फ़ोल्डर में SharePoint पथ में संस्करण (उदा। 0PSharePoint 2010 /_layouts/14 के लिए SharePoint 2010 के लिए

नई विधि SPUtility.GetVersionedGenericSetupPath है। विधि मौजूद नहीं है SharePoint 2010 में

+1

मैं जानता हूँ कि यह पुराना है लेकिन लोगों को गूगल पर यह मिल जाएगा। यह अब SP2013 में अप्रचलित है। http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.utilities.sputility.getgenericsetuppath.aspx – trgraglia

+0

आप सही हैं। मैंने पोस्ट में एक संपादन जोड़ा। –

+0

ठोस। महान अद्यतन! – trgraglia