更改文件扩展名 SPListItem SharePoint 2007

本文关键字:SharePoint 2007 SPListItem 扩展名 文件 | 更新日期: 2023-09-27 18:36:48

我在 SharePoint 2007 中拥有表单库。我创建了一个自定义工作流活动,可以将 InfoPath 文档转换为 PDF。但是当我尝试将原始 InfoPath 文件替换为新的 PDF 文件时,它会一直引用 InfoPath 文件。如何将 InfoPath 列表项重命名为 PDF?

它不能手动更改(这是自动更改的要求)。我现在唯一的问题是我需要将PDF文件存储在同一个SPListItem中。因为我想保留文件的元数据和历史信息(要求)。

我的代码:

//new url = file.pdf
//old url = file.xml
//pdf doc = byte[] of pdf file
file.MoveTo(newUrl);
file.ReplaceLink(oldUrl, newUrl);
file.SaveBinary(pdfdoc);
file.Update();
file.CheckIn("File Converted to PDF - V1.0");
file.Update();

更改文件扩展名 SPListItem SharePoint 2007

您可以设置SPListItemFileLeafRef 字段以重命名SPFile

file.Item[SPBuiltInFieldId.FileLeafRef] = newUrl;
// UpdateOverwriteVersion() in order to prevent duplicated version histroy entries...
file.Item.UpdateOverwriteVersion(); 
file.SaveBinary(pdfDoc);

通过为 PDF 文件创建新的 SPListItem 来修复它。然后,我将每个字段的内容复制到新的SPListItem中。之后,您可以删除旧文件或将其存档以供以后使用。