Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 2013 401使用REST API将文件上载到Sharepoint 2013时出错_Sharepoint 2013 - Fatal编程技术网

Sharepoint 2013 401使用REST API将文件上载到Sharepoint 2013时出错

Sharepoint 2013 401使用REST API将文件上载到Sharepoint 2013时出错,sharepoint-2013,Sharepoint 2013,我有一个简单的html表单,其中我有一个使用REST将文件上传到Sharepoint Server 2013的请求(参考网络上的代码) 下面是代码片段 <html> <head> <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js" type="text/javascript"></script> <script> function AddAtt

我有一个简单的html表单,其中我有一个使用REST将文件上传到Sharepoint Server 2013的请求(参考网络上的代码)

下面是代码片段

<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>

函数AddAttachments()
{
var digest=“”;
$.ajax(
{
url:“http://vmjnjlabeling01:22216/as/Shared 文档/_api/contextinfo“,
方法:“张贴”,
标题:{
“接受”:“application/json;odata=verbose”,
“内容类型”:“应用程序/json;odata=verbose”,
“授权”:“基本c3AyMDEzOlNoYXJlcG9pbnRAMjAxMw==”
},
成功:功能(数据){
digest=data.d.GetContextWebInformation.FormDigestValue;
},
错误:函数(数据){
}
}).done(函数(){
var fileInput=$('#uploadFile');
var fileName=fileInput[0]。文件[0]。名称;
var reader=new FileReader();
reader.onload=函数(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+”)“,
方法:“张贴”,
binaryStringRequestBody:true,
数据:fileData,
processData:false,
标题:{
“接受”:“application/json;odata=verbose”,
“X-RequestDigest”:摘要,
//“内容长度”:fileData.bytellength
},                                                                                                                            
成功:函数(数据){
},
错误:函数(数据){
警报(“发生错误”。+data.responseText);
}
});                          
};
reader.readAsArrayBuffer(文件输入[0]。文件[0]);
});                                          
}
但当我上传文档时,我每次都会收到401错误,尽管所有权限都已授予

请查找屏幕截图:

非常感谢您在此主题上为解决此问题提供的任何帮助

问候,,
N

因为您的页面不在SharePoint中(您在其中没有任何“SharePoint”),所以您需要以不同于SharePoint页面的方式进行授权。最简单的答案可能是看看外接程序模型是如何工作的。另一方面,由于页面中除了您尝试上载附件之外没有任何其他内容,因此该页面是否可能是SharePoint页面?

您需要启用基本身份验证凭据,并在身份验证提供程序中以明文形式发送。 后藤 中央管理>>安全>>安全身份验证提供程序>> 在右侧下拉列表中,选择应用程序并单击default

在声明身份验证类型中勾选基本身份验证