2

Tridion 5.3 を使用しています。

100 を超える PDF リンクが添付された Web ページがあります。そのページを公開すると、のような各pdfのURLを取得しても、すべてのpdfが公開されるわけではありません"/pdf/xyzpdfname_tcm8-912.pdf"。これらのリンクをクリックすると、404 エラーが発生します。エラーが発生したのと同じ pdf コンポーネントについて、一度に 5 ~ 10 個の pdf を添付して公開すると、404 エラーは発生せず、すべて正常に動作します。しかし、それは私が必要とする機能ではありません。Tridion がバイナリ コンテンツを一括で公開すると、バイナリ コンテンツを展開できない理由を知っている人はいますか?

私はengine.PublishingContext.RenderedItem.AddBinary(pdfComponent).Urlpdfの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

別のテンプレートから同じバイナリを公開している可能性はありますか? ファイル名は同じでも、バリアント ID が異なる可能性がありますか?

その場合、Tridion は、同じバイナリの 2 つの「バリアント」を公開しようとしていると想定します (たとえば、サイズ変更された画像、明らかに PDF には関係ありません)。

したがって、デプロイヤは、最初に公開されたバイナリを誤って上書きしないようにエラーをスローしています。

これは 2 つの方法で回避できます。

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 - 発行キューでトランザクションのステータスを確認してください。ヒントが得られる場合があります

質問を更新した後:

テンプレートや環境にひどく問題があります。公開された URL は "tcm8-7* 6 *5.pdf" ですが、アイテム URI は "tcm:8-7* 5 *5" です。

ここで何が起こっているか再確認できますか?

于 2012-03-22T15:38:22.677 に答える