You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

D365FO X++通过SharePointHelper类删除SharePoint文件失败求助

排查D365FO X++中SharePoint文件删除的URI构建问题
  • 处理路径特殊字符编码:如果文件名或路径里有空格、&、#这类特殊字符,直接拼接会导致URI格式错误。必须对服务器相对路径做URL编码,修正后的代码如下:
str serverRelativePath = "/" + site + "/" + folderPath + "/" + fileName;
str encodedPath = System.Uri::EscapeDataString(serverRelativePath);
uri = new System.Uri("https://" + host + "/_api/Web/GetFileByServerRelativePath(decodedurl='" + encodedPath + "')");
  • 检查服务器相对路径格式:确认site和folderPath的取值是否正确,比如site应为SharePoint站点的相对路径(如sites/MySite),folderPath是站点下的文件夹路径(如Documents/Invoices),拼接后不能出现重复斜杠(比如//sites/...)。可以先输出拼接后的serverRelativePath,手动核对格式是否符合SharePoint要求。

  • 验证URI有效性:把构建好的完整URI复制到浏览器(需有该SharePoint站点权限),发送GET请求看能否返回文件详情。如果浏览器都无法访问,说明URI本身有误,和代码逻辑无关。

  • 核对DeleteFile方法参数要求:检查SharePoint代理的DeleteFile方法签名,确认它是接受完整API URI还是直接接受服务器相对路径。有些版本的代理可能要求直接传路径字符串而非Uri对象,比如:

myProxy.DeleteFile(serverRelativePath);
  • 确认权限是否足够:确保代理使用的账号拥有该文件的删除权限,可以先手动在SharePoint尝试删除该文件,验证权限是否达标。

内容的提问来源于stack exchange,提问作者Daniele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 00:17:07