2

我正在使用 Tridion 5.3。

我的网页附有 100 多个 pdf 链接。当我发布该页面时,即使我得到每个 pdf 的 URL,也不是所有的 pdf 都被发布,例如"/pdf/xyzpdfname_tcm8-912.pdf". 当我单击这些链接时,我收到 404 错误。对于我收到错误的相同 pdf 组件,如果我通过一次附加 5 到 10 个 pdf 来发布它们,并且没有 404 错误并且一切正常。但这不是我需要的功能。如果我批量发布它们,有谁知道为什么 Tridion 无法部署二进制内容?

engine.PublishingContext.RenderedItem.AddBinary(pdfComponent).Url用来获取pdf url。

4

3 回答 3

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> 如果您确实想发布变体,请将文件名更改为不同的名称。

我希望这有帮助!

于 2012-03-22T19:20:53.247 回答
2

查看传输服务和部署程序的日志文件。如果这些不提供清晰,请在 cd_transport_conf.xml 中将 Cleanup 设置为 false,重新启动传输服务并再次发布。然后检查所有 PDF 是否都在您的传输包中。

于 2012-03-22T14:49:22.500 回答
2

engine.PublishingContext.RenderedItem.AddBinary(pdfComponent).Url 为您提供项目的 URL,因为它将在成功的情况下发布,而不是保证它会发布。

可以肯定的是,您只是达到了运输包裹的最大尺寸限制。

PS - 在发布队列中检查你的交易状态,可能会给你一个提示

更新问题后:

模板和/或您的环境存在严重问题。Published URL 显示“tcm8-7* 6 *5.pdf”,但 Item Uri 是“tcm:8-7* 5 *5”。

你能仔细检查一下这里发生了什么吗?

于 2012-03-22T15:38:22.677 回答