0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

.NET8.0で画像ファイルの表示に躓いた話

Posted at

はじめに

どうもはじめまして。C#初心者のChanmoroです。
.NET8.0のMVCにおいて、画像ファイルの表示に初心者ながら躓いたので解決方法を自分用に記載します。
原因としては、相対パスで画像ファイルを指名しているのにも関わらず、画像がうまく表示されなかったというものです。まずはじめに、原因のコードとプロジェクトのファイル構成です。

プロジェクトの詳細

フォルダ構成
/YourApp
  /www.root
  /Controllers
  /Models
  /Views
    /Home
      Index.cshtml
  /Resources
    /img
      example.png

他にもフォルダは存在していますが、今回の説明で使用するものを主に列挙しました。(この段階でなぜ画像ファイルが読み込めないかわかる人もいるかも)

Index.cshtml
@{
    ViewData["Title"] = "Start";
}

<!--問題の箇所 ここから-->
<!--slide-->
<ul class="slick">
    <li><img src="../Resources/img/slide01.jpg" alt="logo" /></li>
    <li><img src="../Resources/img/slide02.jpg" alt="logo" /><img alt="画像1" src="" /></li>
</ul>
<!--問題の箇所 ここまで-->

<div class="text-white text-center mt-4">
    <button class="bg-white text-blue-600" id="login-button">Login / ログイン</button><br>   
    <a class="mt-2">Resister / 新しいアカウントを作成</a>
</div>

<!--jQuery and Stick-->
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>

<script>
    $('.slick').slick();
</script>

今回の画像ファイルの問題個所はコメントアウトしてある箇所です。プロジェクト内にResourcesフォルダを新規作成して、その中にimgフォルダを作成し、そこに画像ファイルを配置しています。(ややこしいですが)

解決策 : 静的ファイルはwwwrootフォルダ内に置く

完全に素人の私は、通常のhtmlと同じようにどのフォルダでも呼び出せるものだと思って、相対パスを設定しました。C#のMVCプロジェクトにおいては、写真ファイルなどの静的ファイルはwwwrootフォルダ内に配置する必要性があるようです。

/YourApp
  /www.root
    /css
    /js
    /lib
+    /Resources
+      /img
+        /example.png
  /Controllers
  /Models
  /Views
    /Home
      Index.cshtml
-  /Resources
-    /img
-      example.png

Index.cshtml
<!--問題の箇所 ここから-->
<!--slide-->
<ul class="slick">
    <li><img src="~/Resources/img/slide01.jpg" alt="logo" /></li>
    <li><img src="~/Resources/img/slide02.jpg" alt="logo" /><img alt="画像1" src="" /></li>
</ul>
<!--問題の箇所 ここまで-->
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?