使用 WTDocument.newWTDocument()创建一个文档,然后创建一个ApplicationData并将文件上传到它
注意: ContentServerHelper.service.updateContent () 是服务器端方法。它必须被远程调用。
void createAndUpload(String name, String number, WTContainerRef product, Folder folder) throws WTInvalidParameterException, PropertyVetoException {
Transaction tx = new Transaction();
try {
WTDocument doc = WTDocument.newWTDocument(name, number, DocumentType.getDocumentTypeDefault());
doc.setContainerReference(product);
doc.setDomainRef(((WTContainer) product.getObject()).getDefaultDomainReference());
FolderHelper.assignLocation((FolderEntry) doc, (Folder) folder);
// WTDoc needs to be stored before content may be added
doc = (WTDocument) PersistenceHelper.manager.store(doc);
ApplicationData theContent = ApplicationData.newApplicationData(doc);
String filename = "test.txt";
File theFile = new File("C:\\test.txt");
theContent.setFileName(filename);
// ContentRoleType.PRIMARY 上传文件为文档主内容; ContentRoleType.SECONDARY 上传文档为附件
theContent.setRole(ContentRoleType.PRIMARY);
theContent.setFileSize(theFile.length());
FileInputStream fis = new FileInputStream(theFile);
tx.start();
theContent = ContentServerHelper.service.updateContent(doc, theContent, fis);
ContentServerHelper.service.updateHolderFormat(doc);
tx.commit();
doc = (WTDocument) PersistenceHelper.manager.refresh(doc, true, true);
fis.close();
} catch (WTException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}