使用 rest api 复制文件时未设置列的默认值(SharePoint 2013 独立版)

The default value for a column in not set when copy file using rest api (SharePoint 2013 standalone)

我正在尝试使用 SharePoint REST API 将文件从一个文件夹复制到另一个文件夹。目标文件夹中的某些列定义了默认值。即使文件已成功复制,某些文件也不会获得列的默认值。

仔细一看,发现新的office文档类型(.docx, .xlsx, .pptx等)得到的是默认值,而旧的office文档类型(.doc、.xls、.ppt)不获取值。

此外,只有当旧办公文档来自已包含目标文件夹中的列的源文件夹时,它们才会获取值。

我想知道为什么旧的office文档没有得到这些值,如果有什么可以做的。

这是 SharePoint Server 中的错误还是我缺少使所有文件正常工作的任何配置?

我的理解是这是预料之中的。因为您正在 复制 文件,所以副本不仅包括文件本身,还包括其元数据。如果源文件夹中的文件在这些列中没有值,那么将它复制到目标文件夹时,这些相同的列也不应该有值。现在,为什么有些文件(docx、pptx 等)在目标位置有值?可能是因为 SharePoint document parser feature (Document Property Promotion and Demotion). So in your case what you can do is, instead of copying the files, download/upload them using for instance code like this.