2013-05-14 49 views
2

我試圖通過OpenCMIS更新在露天的文件的內容類型。通過化學更新露天內容類型OpenCMIS

的CMIS工作臺示出了類型的窗口的類型,以作爲僅禁用開關「政策可控」。其本地名稱爲document,查詢名稱爲prefix:document,基本類型爲cmis:document

在常規控制檯,我試過如下:

Folder folder = (Folder) session.getObjectByPath("/Sites/mySite"); 

CmisObject o = session.getObject(aNodeRef); 
cmis.printObjectSummary(o); 

Map<String, Object> properties = new HashMap<String, Object>(); 
properties.put(PropertyIds.OBJECT_TYPE_ID, "D:prefix:document"); 
properties.put(PropertyIds.NAME, "itsanewname!"); 

println("\n\nFrom "+PropertyIds.OBJECT_TYPE_ID+" cmis:document to " + " D:prefix:document:\n\n\n"); 

o.updateProperties(properties); 
cmis.printObjectSummary(o); 

名稱更新好了,但內容類型保持cmis:document

這段代碼被寫入老總的下面的例子波茨自己:

properties.put(PropertyIds.OBJECT_TYPE_ID, "D:sc:whitepaper,P:sc:webable,P:sc:productRelated"); 
properties.put(PropertyIds.NAME, filename); 
properties.put("sc:isActive", true); 
GregorianCalendar publishDate = new GregorianCalendar(2007,4,1,5,0); 
properties.put("sc:published", publishDate); 

然而,他使用這個例子代碼段創建一個節點,而不是更新它。

我也試圖在鏈接到露天Java應用程序的代碼,但沒有成功。

回答

4

一旦通過CMIS創建對象,就無法更改對象的類型。如果您查看cmis:objectTypeId屬性定義,您會注意到它的可更新性設置爲「ONCREATE」而不是「READWRITE」。

Jeff

+0

我一直期待之多。謝謝你的澄清! – 2013-05-14 21:38:54

0

試圖在這裏做類似的事情。

我有一個與最初上傳與微軟的Word(應用程序/ msword)到露天份額MIME類型.doc文件的幾個文件。

現在我已經能夠成功更改擴展名並將mime類型屬性更新爲Microsoft Word 2007.但是,當文件被下載並用Microsoft Word打開時,會引發錯誤,指出文件格式不正確不匹配擴展名。

我以爲我是正確的,但顯然沒有這樣做。 這是應該處理MIME類型轉換的代碼的一部分。

Map<String, Object> updateProperties = new HashMap<String, Object>(); 

updateProperties.put("cmis:name", changeName); 
updateProperties.put("cmis:contentStreamFileName", changeName); 
document.updateProperties(updateProperties); 

ContentStream contentStream = document.getContentStream(); 
InputStream stream = contentStream.getStream(); 
ContentStream cs1 = session.getObjectFactory().createContentStream(changeName, docLength, MimeTypes.getMIMEType("docx"), stream); 

document.setContentStream(cs1, true); 
+0

你應該真的爲此開始自己的問題。話雖如此,您可以使用nodebrowser在運行此更新代碼後查看mimetype是什麼。你也可以檢查'MimeTypes.getMIMEType(「docx」)'的結果。 – 2018-01-10 22:51:20