2012-06-29 52 views
4

如何在2009年使用api將一個圖像組件複製到另一個出版物?tridion 2009 - 將多媒體組件從一個出版物複製到另一個出版物

這可能嗎?我試過使用

newComponent.Multimedia.SetUploadedMultimediaFilename(originalComponent.Multimedia.Filename); 

+ newComponent.save(); 其中我的newComponent是我從原始組件創建的那個。

<tcm:Error xmlns:tcm="http://www.tridion.com/ContentManager/5.0"               ErrorCode="80040325" Category="3" Source="Kernel" Severity="2"> 
    - <tcm:Line ErrorCode="80040325" Cause="false" MessageID="16137"> 
    - <![CDATA[ Unable to save Component (tcm:0-0-0). 
     ]]> 
     <tcm:Token>RESID_4574</tcm:Token> 
     <tcm:Token>RESID_4418</tcm:Token> 
     <tcm:Token>tcm:0-0-0</tcm:Token> 
     </tcm:Line> 
    - <tcm:Line ErrorCode="80040325" Cause="true" MessageID="16010"> 
    - <![CDATA[ Operation is not supported on a new item (or on a null URI). 
     ]]> 
     </tcm:Line> 
    - <tcm:Details> 
    - <tcm:CallStack> 
     <tcm:Location>UtilitiesBL.AssertValidURI</tcm:Location> 
     <tcm:Location>ComponentBL.CheckMultiMediaProperties</tcm:Location> 
     <tcm:Location>ComponentBL.Create</tcm:Location> 
     <tcm:Location>XMLState.Save</tcm:Location> 
     <tcm:Location>Component.Save</tcm:Location> 
     </tcm:CallStack> 
     </tcm:Details> 
     </tcm:Error> 

回答

5

將無法​​工作......你需要先多媒體項目保存到文件的位置,然後使用此位置從上傳。你現在正在做的是告訴Tridion,有一個文件在originalComponent.Multimedia.Filename,這可能是也可能不是真的。

N

+0

謝謝Nuno。你是對的。我檢查了路徑,它指向了原始上傳的文件路徑。所以我想我必須將二進制文件保存到文件系統然後上傳它。 – user1373140

相關問題