2017-05-25 55 views
0

我有一個簡單的html表單,我的請求是使用REST(參考網上的代碼)將文件上傳到Sharepoint Server 2013。使用REST API將文件上傳到Sharepoint 2013時出現401錯誤

以下是代碼片段

<html> 
<head> 
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js" type="text/javascript"></script> 
<script> 
function AddAttachments() 
{ 
var digest = ""; 
$.ajax(
{ 
       url: "http://vmjnjlabeling01:22216/as/Shared Documents/_api/contextinfo", 
       method: "POST", 
       headers: { 
           "ACCEPT": "application/json;odata=verbose", 
           "content-type": "application/json;odata=verbose", 
           "Authorization" : "Basic c3AyMDEzOlNoYXJlcG9pbnRAMjAxMw==" 
       }, 
       success: function (data) { 
       digest = data.d.GetContextWebInformation.FormDigestValue; 
       }, 
       error: function (data) { 

       } 
}).done(function() { 
       var fileInput = $('#uploadFile'); 
       var fileName = fileInput[0].files[0].name; 
       var reader = new FileReader(); 
       reader.onload = function (e) { 
       var fileData = e.target.result; 
           var res11 = $.ajax(
           {        
               //url: "http://vmjnjlabeling01:22216/as/_api/web/lists/getbytitle('DocTest')/items(1)/AttachmentFiles/ add(FileName='" + fileName + "')", 
               url:"http://vmjnjlabeling01:22216/as/_api/web/getfolderbyserverrelativeurl('/as/Shared Documents')/Files/add(overwrite=true, url='" + fileName + "')", 
               method: "POST", 
               binaryStringRequestBody: true, 
               data: fileData, 
               processData: false, 
               headers: { 
                   "ACCEPT": "application/json;odata=verbose",                                 
                   "X-RequestDigest": digest, 
                   // "content-length": fileData.byteLength 
               },                                
               success: function (data) {            

               }, 
               error: function (data) { 
                   alert("Error occured." + data.responseText); 
               } 
           });       
       }; 
       reader.readAsArrayBuffer(fileInput[0].files[0]); 

});           
} 
</script> 
</head> 
<body> 
<div> 
       <input id="uploadFile" type="file"> 
</div> 

<div> 
       <input type="submit" onclick="AddAttachments()" value="Add Attachments"> </input> 
</div> 
</body> 
</html> 

但是當我上傳的文件我收到401錯誤每次儘管所有權限都被賦予。

請找到截圖: enter image description hereenter image description here

任何幫助就這個話題來解決這個問題最讚賞。

問候, ñ

回答

0

因爲你的網頁是不是在SharePoint(你沒有得到它的任何「的SharePoint」),則需要授權不同於如果它是一個SharePoint頁面。最簡單的答案可能是查看Add-in模型的工作方式。另一方面,由於除了嘗試上傳附件之外,頁面上沒有任何內容,頁面是否可以成爲SharePoint頁面?

相關問題