我是Documentum DFC的新手,我使用DFC API编写了一个代码来签出一个文档并且它工作正常。但现在我想用我本地电脑驱动器中存在的新文件签入同一个文件。我试图搜索它,但没有找到任何好的和简单的答案。
如果有人在这里为我提供指导,我将不胜感激。
我是Documentum DFC的新手,我使用DFC API编写了一个代码来签出一个文档并且它工作正常。但现在我想用我本地电脑驱动器中存在的新文件签入同一个文件。我试图搜索它,但没有找到任何好的和简单的答案。
如果有人在这里为我提供指导,我将不胜感激。
新版本(需要 VERSION 权限):
boolean keepLock = false;
String versionLabels = "";
IDfSysObject doc = (IDfSysObject) session.getObject(new DfId("0900000000000000"));
doc.checkout();
doc.setFile("C:\\temp\\temp.jpg"); // assuming you're using windows
doc.checkin(keepLock, versionLabels);
相同版本(需要 WRITE 权限):
IDfSysObject doc = (IDfSysObject) session.getObject(new DfId("0900000000000000"));
doc.fetch(null);
doc.setFile("C:\\temp\\temp.jpg"); // again, assuming the worst ;)
doc.save();
请注意,需要fetch(null)来确保您手头有文档的最新版本。
对于上面的两个示例,内容文件被替换而没有任何进一步的魔法。请务必根据需要重命名文档,并在必要时设置正确的格式,例如:
doc.setObjectName("new_name");
doc.setContentType("new_format");
public void checkinDoc(String objectId) throws Exception
{
sysObject = (IDfSysObject) idfSession.getObjectByID(objectId);
//sysObject = (IDfSysObject) idfSession.getObjectByPath("/Cabinet/Folder/Document");
if (sysObject.isCheckedOut() ) { // if it is checked out
sysObject.checkin(false,”CURRENT”);
}
}
Use setFile on the checked out document, then checkin.