【问题标题】:401 error while uploading file to Sharepoint 2013 using REST API使用 REST API 将文件上传到 Sharepoint 2013 时出现 401 错误
【发布时间】:2018-10-02 20:46:15
【问题描述】:

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

下面是代码sn -p

<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 错误,尽管已授予所有权限。

请查看截图:

非常感谢有关此主题的任何帮助以解决此问题。

问候, 否

【问题讨论】:

    标签: sharepoint-2013


    【解决方案1】:

    您需要启用基本身份验证凭据在身份验证提供程序中以明文形式发送。 去 Central Admin>> Security>>Security Authentication providers>> 在右侧下拉列表中选择应用程序并单击默认

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

    【讨论】:

      【解决方案2】:

      由于您的页面不在 SharePoint 中(您没有在其中获得任何“SharePoint”),因此您需要进行不同于 SharePoint 页面的授权。最简单的答案可能是查看 Add-in 模型的工作原理。另一方面,由于页面中除了您尝试上传附件之外什么都没有发生,那么该页面可以是 SharePoint 页面吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-18
        • 2022-01-07
        • 1970-01-01
        • 2015-09-17
        • 1970-01-01
        • 1970-01-01
        • 2011-12-07
        • 1970-01-01
        相关资源
        最近更新 更多