当我从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;
请建议
答案 0 :(得分:3)
Chris Summers在他的博客上发表了这篇文章。阅读文章 - http://www.urbancherry.net/blogengine/post/2010/02/09/Unique-binary-filenames-for-SDL-Tridion-Multimedia-Components.aspx
答案 1 :(得分:3)
通常在Tridion Content Delivery中,我们只能保留一个版本的Component。要获得MMC的多个“版本”,我们必须将MMC发布为变体。通过这种方式,我们可以通过模板生成尽可能多的变体。
您可以参考以下文章了解更多详情:
答案 2 :(得分:2)
添加二进制文件时,必须确保文件及其元数据是唯一的。如果其中一个值,例如文件名似乎相同但其余元数据不匹配,则部署将失败。
在给定的示例中(如Nuno所指出的),二进制910正在尝试部署在二进制文件703上。文件名是相同的但是二进制文件被识别为不相同(在这种情况下,来自同一出版物的不同ID) )。对于此示例,您将需要重命名其中一个二进制文件(文件本身或更改路径),一切都会正常。
其他方案可以是从两个不同的模板使用相同的图像,并且模板ID用作变量ID。如果是这种情况,则它是相同的图像,但是变量ID检查失败,因此为了避免覆盖同一图像,部署者将其失败。
通常,取消发布可能有所帮助,但只有在删除对它的所有引用时才会删除图像。因此,如果从多个地方使用它,则会有更多的开放引用。
这是对部署者的合理保护。您不希望错误的图像替换另一个图像,或者扰乱布局或者可能将内容更改为另一个会议(想想广告横幅)。
这是上述问题的真正原因和原因(来自论坛的东西)