3

当我从 tridio 2009 发布我的页面时,我收到以下错误:

Destination with name 'FTP=[Host=servername, Location=\RET, Password=******, Port=21, UserName=retftp]' reported the following failure:
A processing error occurred processing a transport package Attempting to deploy a binary [Binary id=tcm:553-974947-16 variantId= sg= path=/Images/image_thumbnail01.jpg] to a location where a different binary is already stored Existing binary: tcd:pub[553]/binarymeta[974950]

下面是我的代码片段

Component bigImageComp = th.GetComponentValue("bigimage", imageMetaFields);
string bigImagefileName = string.Empty;
string bigImagePath = string.Empty;
bigImagefileName = bigImageComp.BinaryContent.Filename;
bigImagePath = m_Engine.AddBinary(bigImageComp.Id, TcmUri.UriNull, null, bigImageComp.BinaryContent.GetByteArray(), Path.GetFileName(bigImagefileName));
imageBigNode.InnerText = bigImagePath;

请建议

4

3 回答 3

3

Chris Summers 在他的博客上谈到了这个问题。阅读文章 - http://www.urbancherry.net/blogengine/post/2010/02/09/Unique-binary-filenames-for-SDL-Tridion-Multimedia-Components.aspx

于 2012-09-17T14:33:38.097 回答
3

通常在 Tridion Content Delivery 中,我们只能保留一个组件的一个版本。要获得 MMC 的多个“版本”,我们必须将 MMC 作为变体发布。通过这种方式,我们可以通过模板生成尽可能多的变体。

您可以参考以下文章了解更多详情:

http://yatb.mitza.net/2012/03/publishing-images-as-variants.html#!/2012/03/publishing-images-as-variants.html

于 2012-09-17T15:20:47.277 回答
2

添加二进制文件时,您必须确保文件及其元数据是唯一的。如果其中一个值(例如文件名)看起来相同但元数据的其余部分不匹配,则部署将失败。

在给定的示例中(正如 Nuno 指出的那样),二进制文件 910 正在尝试在二进制文件 703 上部署。文件名相同,但二进制文件被标识为不相同(如果同一出版物的 ID 不同)。对于此示例,您将需要重命名其中一个二进制文件(文件本身或更改路径),一切都会好起来的。

其他情况可能是使用来自两个不同模板的相同图像,并且模板 id 用作变体 ID。如果是这种情况,则它是相同的图像,但变体 ID 检查失败,以避免覆盖相同的图像,部署程序失败。

通常取消发布会有所帮助,但是,只有在删除所有对它的引用时才会删除该图像。因此,如果它在多个地方使用,就会有更多的开放参考。

这是对部署者的逻辑保护。您不希望错误的图像替换另一个图像并破坏布局或可能将内容更改为另一个会议(想想广告横幅)。

这是上述问题的实际原因和原因(来自论坛的东西)

于 2012-09-17T16:39:08.743 回答