8

現在、MVC 4 Web アプリケーションを作成しています。

アクション内で収集された情報に応じて度数が変化する矢印イメージと常に同じ基本背景イメージを持つアクションがあります。

私はこのアクションを

<img src="@Url.Action("trend-image", "NonReg_Reports")" alt="background" width="245" height="105" />

これは、呼び出されたときに正常に機能し、HTML Web ページを表示しているだけです。それは私にHTMLを与えます。

<img src="/nonreg-report/01495344/trend-image" alt="background" width="245" height="105">

次に、 Rotativa / Wkhtmltopdf を使用して、この HTML ページを PDF に変換しています。これにより、上記と同じコードが実行されます。

問題は、上記のコードを使用すると、代替テキストを含む白いボックスが表示されることです。

<img src="~/Content/images/trend_back_medium.png" alt="astuff" />プロジェクトで実際の背景画像を使用すると、正常に動作します。

上記のコードの画像は、使用方法が原因でどこにも保存できません。パスの問題だと思っていますが、いろいろ試してみてもうまくいきません。

任意の提案やヘルプをいただければ幸いです。ありがとうございます。

4

7 に答える 7

20

私も同じ問題を抱えていました。通常の html ビューは写真で問題ありませんでしたが、pdf は表示されませんでした。Server.MapPath を使用して画像を指定しましたが、問題ありませんでした...

<img src="@Server.MapPath("~/Folder/SubFolder/Subfolder/ImageName.png")" />

これが役立つことを願っています

アダム

于 2014-07-14T11:03:55.267 に答える
3

私は同じ問題に直面し、回避策を見つけましたが、良いものではありませんでしたが、それは私のニーズに合っていました。

Rotativa(Wkhtmltopdf?) には、http ハンドラから返される画像に問題があるようです (少なくとも私の場合)。したがって、この状況を処理するにはnew ViewAsPdf...、コードを返す前のコントローラー アクションで、ファイルをローカルの「一時」フォルダーに手動で保存し、レンダリングされたビューの画像の「src」をサーバー パスの方法でそのローカル ファイルへのパスに置き換えますhttp://localhost/img/temp/trend-image.png。これは良い解決策ではありません。より良い解決策を既に見つけている場合は、お知らせください。

于 2013-05-03T19:05:10.420 に答える
2

画像を返すコントローラーメソッドに属性 [System.Web.Mvc.AllowAnonymous] を追加すると、問題が解決しました。

于 2015-02-02T09:23:14.380 に答える
0

私のページでは、画像が .gif ファイルであるため、画像が表示されないことがわかりました。Rotativa では、GIF に問題が発生する場合があります。画像を .jpg または .png に変更すると、すべてうまくいきました。

于 2013-10-03T23:11:18.260 に答える
-1

高さと幅を指定する場合は、次のようにスタイルタグに記述する必要があります<some-tag style="height: 100px; width:100px">

于 2017-08-05T10:33:57.857 に答える