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

错误代码

  1. {
  2. "error": {
  3. "code": "-2130575251, Microsoft.SharePoint.SPException",
  4. "message": {
  5. "lang": "en-US",
  6. "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."
  7. }
  8. }
  9. }

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

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

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

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

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

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

  1. $.ajax({
  2. url: _spPageContextInfo.webAbsoluteUrl + "/_api/contextinfo",
  3. method: "POST",
  4. headers: { "Accept": "application/json; odata=verbose"},
  5. success: function (data) {
  6. $('#__REQUESTDIGEST').val(data.d.GetContextWebInformation.FormDigestValue)
  7. },
  8. error: function (data, errorCode, errorMessage) {
  9. alert(errorMessage)
  10. }
  11. });

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

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