由于添加了元数据,SharePoint首次保存时会更改MS Office文件的大小.可以确认内容没有改变



假设我们正在从(SAS)共享驱动器到SharePoint(例如SharePoint Online)迁移一组MS Office文件。仅限于Office 2007,因此,诸如docx,xlsx。

之类的文件扩展名。

我们看到,将文件的大小保存到SharePoint时会发生变化 - 如添加了某些元数据。(尽管诸如PDF或JPEG之类的非MS Office文件的文件大小不更改)。

这些MS Office文件是"容器",其中放置了许多组件零件 - 可以通过更改XLSX文件(SAS)将其扩展到zip并用Winzip来查看这种情况。

出于良好的声音完整性原因,我们要向自己保证"文件内容"组件部分没有更改。

我们如何识别代表内容的那些容器中的组件部分?如上所述,当保存到SharePoint时,此类组件零件是否不变?

如果是这样,是否有任何公用事业可以分析一对此类文件并确认内容相同,或者是否已更改?是否可以从两个文件中生成一些校验和比较。

如果没有这种效用,哪种环境最适合创建一个环境? - 可以在vb.net和/或c#中完成吗?

谢谢。

这篇文章与同一问题有关,但没有提供我们需要的答案。C# - 没有元数据的MS Office文档的哈希内容

有趣的主题。我们如何确定代表内容的容器中的组件部分?

在DOCX中,您需要评估每个内容文件。请注意,DOCX中的文件是使用Deflate压缩的。因此,您可能必须夸大它们。这不仅是document.xml和document.xml.rels文件,还包括: - 标题XML文件(可以比1多) - 标头.RELS文件 - 页脚XML文件(再次,多个文件) - 页脚.RELS文件) - 媒体文件(包含图像)

您甚至必须检查core.xml文件,如果SharePoint属性降级会改变标题之类的字段。

要总结,您无法在DOCX级别上比较DOCX文件。您将需要解开它们并比较(例如CRC32或MD5)每个"内容"文件。

我不知道提供此功能的实用程序。

注意:如果您只需要将文件上传到SharePoint以进行存档,则将它们放入单独的ZIP文件可能是替代方案。当然,这只是一个选择,如果您只需要存储内容而不指望用户进行任何更改。

Paul

最新更新