2012-10-22 8 views
5

ファイル名が "Tim%20Butler%20Trading.jpg"の画像があります。 この画像は、メインコンポーネントの[画像]フィールドのコンポーネントリンクとしてリンクされています。 C#DLLで 次のように私たちは、この「イメージ」フィールドとフォームのイメージタグを読み取る:プレゼンテーション側で画像が解決されない

スタイルがあれば、属性名であるとIMAGEIDは、マルチメディアコンポーネントのTCM IDです
"<img " + style + " src=\"" + imageID + "\" />" 

を。

出力文字列は、イメージ、タイトル、およびコンポーネントの他のフィールド値を使用して形成されます。この出力はパッケージにプッシュされ、dwtにアクセスします。 dwtに渡される出力文字列のcontentTypeは "HTML"です。

イメージを公開するためにDefaultFinishActionsを使用しています。 このイメージは、プレゼンテーションサーバー上でTim%20Butler%20Trading34-13565.jpgとして展開されていますが、プレゼンテーション側では解決されません。次のように

ページでは、ソース画像タグが形成されている:

<img src="/images/Tim%2520Butler%2520Trading34-13565.jpg" class="img" /> 

我々は画像が公開されたときにDWTが%25にイメージファイル名にを変換していることと思います。

この問題の解決方法を教えてもらえますか?

+0

あなたの投稿にページソース画像タグは表示されません! – Quirijn

答えて

6

問題は%にあります。テンプレートで%と表示されている場合は、%25とエンコードしています。

あなたがする必要があるのは、自分でエンコードをやめることだけです。テンプレートがTim Butler Trading.jpgを出力する場合、Dreamweaverテンプレートでは空白が%20とエンコードされ、すべてのテンプレートは正常に動作します

+0

私は恐れていることに同意しないでください。プレゼンテーションサーバ上のファイルシステム上のファイル名を見てください! %記号はファイル名自体にはっきりと現れています。つまり、クライアント側のソースにあるURLは、ファイル名が正しいと思われます。 –

0

イメージがTridionにアップロードされたら、ファイル名に%文字が含まれていないことを確認します。あなたからTridionの中にそれをアップロードする際にティム%20Butler%20Trading34-13565.jpg

ティム・バトラーTrading34-13565.jpg

でなければなりません

ローカルシステム。

これは、公開中にファイル名にTCMIDを追加していないという前提に基づいています(34-13565の部分には、TCMURIと同じデータとほとんど同じ形式があります)。

関連する問題