2012-09-17 82 views
3

當我從2009年tridio發佈我的網頁,我收到以下錯誤:試圖二進制部署到不同的二進制已存儲的位置

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

組件中醫認爲:553-974950和中醫認爲:553-974947具有相同的文件名,併發布到同一個文件夾。重命名其中一個文件。 –

回答

2

當添加的二進制文件,您必須確保該文件和它的元數據是獨一無二的。如果其中一個值例如文件名似乎相同,但其餘元數據不匹配,則部署將失敗。

在給出的例子中(正如Nuno所指出的),二進制文件910試圖在二進制文件703上進行部署。文件名是相同的,但是二進制文件被標識爲不相同(在不同的情況下,出版物)。對於這個例子,你將需要重命名一個二進制文件(文件本身或改變路徑),一切都會好起來的。

其他場景可以是兩個不同模板使用相同的圖像,模板ID用作變量ID。如果是這種情況,它是相同的圖像,但變量ID檢查失敗,以避免覆蓋部署失敗它相同的圖像。

取消發佈通常可以提供幫助,但是,只有在刪除所有對其的引用時纔會刪除該圖像。因此,如果從多個地方使用,則會有更多的開放參考。

這是部署者的邏輯保護。您不希望錯誤的圖像替換另一個圖像,或者顛覆佈局或將內容更改爲另一個會議(請考慮廣告橫幅)。

這是上述問題的實際原因和理由(有什麼來自論壇得到)