2017-05-25 56 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页面?

相关问题