سؤال

يمكنني تحميل ملف إلى Sharepoint مع عميل الويب على النحو التالي

using (System.Net.WebClient webclient = new System.Net.WebClient())
{
    System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(
                    Encryptor.Decrypt(ConfigurationManager.AppSettings["username"]),
                    Encryptor.Decrypt(ConfigurationManager.AppSettings["password"]),
                    ConfigurationManager.AppSettings["domain"]);
    webclient.Credentials = credentials;

    string path = Path.Combine("http://sharepoint.domain.com/dir", filename);
    webclient.UploadData(path, "PUT", fileBytes);
}

لكنني لا أعرف كيفية إنشاء الدلائل إذا لم تكن موجودة.

أي أفكار كيف يمكنني أن أفعل ذلك؟

شكرا

هل كانت مفيدة؟

المحلول

يعتبر مصطلح "الدلائل" الموجود في موقع SharePoint مخادعًا.إن بنية "الدليل" الخاصة بخدمة ويب SharePoint هي بنية افتراضية موجودة في قواعد بيانات SharePoint.تحتاج إلى تحديد الكائن الموجود في نموذج كائن SharePoint الذي يمثله "الدليل" على سبيل المثال: http://sharepoint.domain.com/dir من المحتمل أن يكون موقع SPSite، حيث يمكن أن يكون لديك في الموقع "أدلة" وهي SPFolders وSPLists وSPDocumentLibraries وما إلى ذلك.

لذا، إذا كنت تقصد بعبارة "إنشاء أدلة غير موجودة" في بنية دليل موقع SharePoint، فلن تتمكن من التعامل مع WebClient.لديك خياران:نموذج كائن Windows SharePoint Services وSharePoint Webservices.

من المؤكد أن نموذج الكائن أسهل في الاستخدام في رأيي ولكنه سيتطلب منك تشغيل التطبيق على نفس الخادم مثل خادم SharePoint الخاص بك.تعد خدمات الويب عملاً أكثر قليلاً ولكنها تمكنك من استخدامها عن بعد.

ستحتاج إلى تحديد نوع الكائن الذي تحاول إضافته (على سبيل المثال.SPFolder، SPSite، SPList، SPDocumentLibrary إلخ.).

هناك وثائق وافرة لاستخدام نموذج الكائن الموجود هنا ولكن إذا كنت تريد استخدام خدمات الويب، فستحتاج إلى الوصول إليها في المواقع التالية:

Administration Service       http://<server-url:port-number>/_vti_adm/admin.asmx
Alerts Service               http://<server-url>/_vti_bin/alerts.asmx
Document Workspace Service   http://<server-url>/_vti_bin/dws.asmx
Forms Service                 http://<server-url>/_vti_bin/forms.asmx
Imaging Service             http://<server-url>/_vti_bin/imaging.asmx
List Data Retrieval Service http://<server-url>/_vti_bin/dspsts.asmx
Lists Service                 http://<server-url>/_vti_bin/lists.asmx
Meetings Service               http://<server-url>/_vti_bin/meetings.asmx
Permissions Service         http://<server-url>/_vti_bin/permissions.asmx
Site Data Service             http://<server-url>/_vti_bin/sitedata.asmx
Site Service                   http://<server-url>/_vti_bin/sites.asmx
Users and Groups Service       http://<server-url>/_vti_bin/usergroup.asmx
Versions Service               http://<server-url>/_vti_bin/versions.asmx
Views Service                 http://<server-url>/_vti_bin/views.asmx
Web Part Pages Service       http://<server-url>/_vti_bin/webpartpages.asmx
Webs Service                   http://<server-url>/_vti_bin/webs.asmx

أقترح النظر في خدمات القوائم أو خدمة مساحة عمل المستندات.

امل ان يساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top