最近,需要在SharePoint上传文件到文档库,但是,上传的过程报错了。

错误代码

{
    "error": {
        "code": "-2130575251, Microsoft.SharePoint.SPException",
        "message": {
            "lang": "en-US",
            "value": "The security validation for this page is invalid and might be corrupted. Please use your web browser's Back button to try your operation again."
        }
    }
}

操作就是调用SharePoint Plus 添加文档

https://aymkdn.github.io/SharepointPlus/files.html#createFile

有兴趣的可以看一下这个插件,本来以为是插件的问题,后来发现并不是。

发现插件在执行这个方法的时候,其实是Call REST Service。

然后,调用了REST API上传,也是报一样的错误。

后来发现,是Request Digest token需要刷新一下:

$.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/contextinfo",
    method: "POST",
    headers: { "Accept": "application/json; odata=verbose"},
    success: function (data) {
        $('#__REQUESTDIGEST').val(data.d.GetContextWebInformation.FormDigestValue)
    },
    error: function (data, errorCode, errorMessage) {
        alert(errorMessage)
    }
});

 执行完上面的代码以后,就可以正常上传文件了。完事儿以后,有想了想为什么,可能是因为根网站集调用同web application下其他网站集吧。

版权声明:本文为jianyus原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jianyus/p/12188064.html