記事詳細
- 投稿日
 - 2025年10月29日00時11分
 - 
        
タイトル
 - 
        
wwwrootのImageファイルをデータベースに登録
 - 内容
 - 
        
        
以下のように、
OnModelCreatingメソッド内でwwwroot内の画像ファイルを読み込み、それらをCategoryImage(byte[]型)とCategoryName(拡張子を除いたファイル名)に格納する方法を実装できます。コード例
ポイント解説
Directory.GetFilesを使用して画像ファイルを取得:Path.Combineを使い、wwwroot/imagesディレクトリのパスを動的に取得。Directory.GetFilesを使い、特定の拡張子(例:.png)のファイルを取得。
Path.GetFileNameWithoutExtensionで拡張子を除去:- ファイル名から拡張子を除いた名前を取得し、
CategoryNameに格納。 
- ファイル名から拡張子を除いた名前を取得し、
 File.ReadAllBytesで画像をバイト配列に変換:- 画像ファイルを読み込み、
byte[]型に変換してCategoryImageに格納。 
- 画像ファイルを読み込み、
 HasDataを使用して初期データを登録:modelBuilder.Entity<Category>().HasData()を使い、データベースに初期データを登録。
注意点
HasDataの制約:HasDataを使用する場合、Idプロパティ(主キー)は必須です。ユニークな値を設定してください。- もし 
Idを自動生成したい場合は、OnModelCreatingではなく、別の方法でデータを登録する必要があります。 
画像ファイルのサイズ:
- 画像ファイルが大きすぎる場合、データベースに保存するのではなく、ファイルパスを保存する方法も検討してください。
 
マイグレーションの更新:
HasDataを使用した場合、Add-MigrationとUpdate-Databaseを実行してデータベースを更新してください。
このコードをベースに、必要に応じてカスタマイズしてください!
 - 
        
添付画像
 - 
            
画像はありません
 - Genreのカテゴリ-名
 - Controllers