我正在使用Tridion 5.3。
我的网页上附有超过100个pdf链接。当我发布该页面时,即使我获得了"/pdf/xyzpdfname_tcm8-912.pdf"
等每个pdf的URL,也不会发布所有pdf。当我点击这些链接时,我收到404错误。对于我得到错误的相同pdf组件,如果我通过附加5到10个pdf一次发布它们就会发布它们并且没有404错误并且一切正常。但这不是我需要的功能。有没有人知道为什么Tridion如果我批量发布它们就无法部署二进制内容?
我正在使用engine.PublishingContext.RenderedItem.AddBinary(pdfComponent).Url
来获取pdf网址。
答案 0 :(得分:7)
这可能与您的PDF命名有关吗?
Tridion有一个机制可以防止您意外覆盖二进制文件,并使用另一个名称相同的二进制文件。
我可以看到您尝试部署的二进制文件具有ID:
tcm:8-755-16
并且您将其命名如下:
/www.mysite.com/multimedia/pdfname_tcm8-765.pdf
使用变体ID:
variantId=tcm:8-755
您是否有可能从不同的模板发布相同的二进制文件?也许使用相同的文件名,但使用不同的Variant Id?
如果是这样,Tridion假设您正在尝试发布两个相同二进制文件的“变体”(例如调整大小的图像,显然不是PDF的相关内容)
因此,部署者会抛出错误,以防止您意外覆盖首先发布的二进制文件。
你可以通过两种方式解决这个问题:
1>使用相同的变体ID发布二进制文件
2 - ;如果您确实要发布变体,请将文件名更改为其他名称。
我希望这有帮助!
答案 1 :(得分:2)
查看传输服务和部署者的日志文件。如果这些不清楚,请在cd_transport_conf.xml中将Cleanup设置为false,重新启动传输服务并再次发布。然后检查所有PDF是否都在您的传输包中。
答案 2 :(得分:2)
engine.PublishingContext.RenderedItem.AddBinary(pdfComponent).Url为您提供项目的URL,因为它将在成功时发布,而不是保证它将发布。
非常确定您只是在运输包装上达到了最大尺寸限制。
PS - 检查发布队列中的事务状态,可能会给你一个提示
更新问题后:
模板和/或环境出现了严重问题。已发布的网址显示“tcm8-7 * 6 * 5.pdf”,但项目Uri为“tcm:8-7 * 5 * 5”。
你能仔细检查一下这里发生了什么吗?