我们有一个客户端要求SharePoint中的所有图像文件以一种可以显示它们是原始上传文件的位副本的方式存储。显然,散列文件将能够显示检索文件时。
我无法找到任何在SharePoint图像库上实现此功能的人的参考。我发现有很多关于在C#中实现这一点的文章,但理想情况下我希望能够在标准的SharePoint文档/图像库上实现它。
有没有人有什么建议可以做到最好?我想到了工作流程,但人们的想法是什么?另外,作为这方面的一部分,是否有人知道SharePoint是否会存储一位比特副本,以便在我们比较校验和时进行验证?
答案 0 :(得分:4)
您可以实现event handler,在上传时计算文件哈希并将其存储在元数据文本字段中。这是解决问题的简单方法。
答案 1 :(得分:1)
为什么不使用Record Center网站,它们专为此类设计而设计 - 可验证的归档和存储。
答案 2 :(得分:1)
我会在图像库中添加“text”列,然后在事件接收器中实现散列逻辑。您将需要两个处理程序 - ItemAdded和ItemUpdated。 代码看起来像
public override void ItemAdded(Microsoft.SharePoint.SPItemEventProperties properties)
{
base.ItemAdded(properties);
this.DisableEventFiring();
properties.ListItem["myCustomField"] = this.CalculateHash(properties.ListItem.File);
properties.ListItem.SystemUpdate();
this.EnableEventFiring();
}