tridion 2009 - 将多媒体组件从一个出版物复制到另一个出版物

Posted

技术标签:

【中文标题】tridion 2009 - 将多媒体组件从一个出版物复制到另一个出版物【英文标题】:tridion 2009 - copy multimedia component from one publication to another 【发布时间】:2012-07-01 03:33:02 【问题描述】:

如何在 2009 年使用 api 将图像组件从一个出版物复制到另一个出版物?

这可能吗?我尝试使用

    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>

【问题讨论】:

【参考方案1】:

这行不通...您需要先将多媒体项目保存到文件位置,然后使用此位置上传。你现在所做的只是告诉 Tridion 在originalComponent.Multimedia.Filename 有一个文件,它可能是真的,也可能不是。

没有

【讨论】:

谢谢努诺。你说的对。我检查了路径,它指向原始上传的文件路径。所以我想我必须将二进制文件保存到文件系统然后上传。

以上是关于tridion 2009 - 将多媒体组件从一个出版物复制到另一个出版物的主要内容,如果未能解决你的问题,请参考以下文章

带有 DD4T 的 Tridion 2011 - 组件实体上没有可用的元数据字段

将大型二进制文件上传到 SDL Tridion Multimedia Components 时出错

无法在 Tridion 2009 中删除结构组

在 Tridion 2009 上配置自定义解析器

Tridion 2011 Sp1 允许将组件的修订版本发布到暂存目标

Tridion 2009 SP1:如何为定期发布安排内容页面?