Startup
クラスの静的ファイルアクセスを既に有効にしているASP.NET Coreアプリケーションのwwwrootフォルダ内の画像フォルダからファイルを提供しようとしています。絶対ファイルパスを相対パスに変換する
HostingEnvironment
サービスでは、wwwrootフォルダへの絶対パスを提供するWebRootPath
プロパティが表示されますが、このパスを使用するとブラウザのコンソールに「ローカルリソースを読み込めません」というエラーが表示されます。
localhost
+相対パスを使用して私のブラウザからファイルにアクセスすると、画像ファイルを取得できるため、承認に関する問題はありません。
私が今必要とするのは、絶対パスをWebサーバーの相対パスに変換することだけです。お使いのコントローラがWebRootPath
財産を読んで、それ
var content = System.IO.File.ReadAllText(_env.WebRootPath + "/images/textfile.txt");
に相対ファイル・パスを追加する
private IHostingEnvironment _env;
public HomeController(IHostingEnvironment env)
{
_env = env;
}
更新:あなたはコンストラクタをコントローラに
してください、質問のタイトルにないものをタグ! – Tseng