2

C# プロジェクトの Resources フォルダーに保存されている画像を参照するタグのsrc属性に渡す正しいパスを見つけるのに問題があります。<img>(ビルド アクション: コンテンツ。出力ディレクトリにコピー: 新しい場合はコピー)

URL の ID に基づいて請求書 PDF を生成する RESTFUL サービスがあります。PDF を生成するために、サービスは Handlebars.Net を使用して請求書の HTML を生成し、Select.HtmlToPdf を使用してその HTML を PDF に変換します。

コードをステップ実行すると、Select.HtmlToPdf を使用して PDF を生成するプロジェクトの現在の作業ディレクトリがC:\Program Files (x86)\IIS. (クイックウォッチを設定することで、次のことがわかりました:System.IO.Directory.GetCurrentDirectory().

結果の PDF には、表示したい画像が表示されません。私はコンソール アプリケーションで期待どおりにこの作業を行ったので、srcこのプロジェクトでは HTML の引数に渡すパスが正しくないことが問題であると思われます。

ビルドすると、画像ファイルが に表示され\bin\Resources\ます。そのタグのsrc属性に渡す必要があるその画像リソースへの相対パスは何ですか?<img>

更新 05/16

PDF を生成するのではなく、コントローラーに HTML をブラウザーに返させて、正しく表示されるかどうかを確認しました。やった。この場合、タグのsrc属性はでした。ブラウザーが を呼び出して画像を取得しようとすると、コントローラーがそのパスを正しく変換するようです。<img>\Resources\image.png<baseurl>\Resources\image.png

だから私の問題は、 Select.HtmlToPdf が画像を取得するためのWebリクエストを作成していないことです。そのsrc引数を、ロードする必要がある画像ファイルへのローカルパスとして取っているため、私のResourcesフォルダーにアクセスする方法を見つける必要がありますIIS 環境がセットアップする仮想ディレクトリ経由で bin ディレクトリ。

4

0 に答える 0