"500:"خطأ داخلي في الخادم" عند محاولة إضافة ملف نصي بسيط كمرفق عبر SharePoint 2013 REST API

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/59898

سؤال

استخدام SharePoint 2013 REST API, ، أحاول إرفاق ملف نصي بسيط بعنصر القائمة.

jQuery.ajax({
    url: web.get_url() + "/_api/web/lists/GetByTitle('List1')/items(1)/AttachmentFiles/add(FileName='readme.txt')",
    type: "POST",
    headers: {
        "body": "Contents of file.",
        "content-length": 17,
        "X-RequestDigest": $("#__REQUESTDIGEST").val()
    },
    success: doSuccesRestAPIAddAttachment,
    error: doErrorRestAPIAddAttachment
  });

أحصل على الخطأ التالية:

500:Internal Server Error
<?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code>-2147024883, Microsoft.SharePoint.SPException</m:code><m:message xml:lang="en-US">The data is invalid. (Exception from HRESULT: 0x8007000D)</m:message></m:error>

هل يمكن لأحد أن يقول لي ما الذي أفعله الخطأ؟

شكرًا.

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

المحلول

سؤال مهم!لقد قرأت الصفحة التي قمت بربطها.التعليمات هناك مربكة بعض الشيء في بعض الأحيان.بعد بعض التجارب يمكنني إضافة مرفق كما تفعل:

$.ajax({
    url: "/_api/web/lists/GetByTitle('List1')/items(1)/AttachmentFiles/add(FileName='readme.txt')",
    type: "POST",
    data: "Contents of file.",
    headers: {        
        "X-RequestDigest": $("#__REQUESTDIGEST").val()
    }
  });

لقد اختبرت مباشرة في شبكة الويب الجذرية ولم أقدم أي ردود اتصال فقط لتبسيط الأمر.لقد قمت بإزالة رأس "طول المحتوى" لأن Chrome اشتكى من "الرأس غير الآمن".أضع "محتوى الملف". في حمولة الطلب (data: "Contents of file.").المثال أدناه يعمل بالنسبة لي.قل إذا لم يكن الأمر كذلك بالنسبة لك.

الإجابة الأصلية:

ربما لا تكون هذه هي الإجابة الكاملة ولكن لا ينبغي أن يكون "النص" داخل الرؤوس.حاول وضعه خارج الجسم.

jQuery.ajax({
    url: web.get_url() + "/_api/web/lists/GetByTitle('List1')/items(1)/AttachmentFiles/add(FileName='readme.txt')",
    type: "POST",
    body: "Contents of file.",
    headers: {        
        "content-length": 17,
        "X-RequestDigest": $("#__REQUESTDIGEST").val()
    },
    success: doSuccesRestAPIAddAttachment,
    error: doErrorRestAPIAddAttachment
  });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top