Edited at

.NET Core で静的ファイルが見つからなかったときの対処法

More than 1 year has passed since last update.

Live2D Cubism SDK for JavaScript のアーリーアクセスがはじまりました!

https://live2d.github.io/#js

さっそく、.NET Core で作成していたWebアプリに組み込んでみました。


モデルファイルが Not Found!?

なぜか、データが Not Found となり、モデルが表示される気配がありません。

テクスチャファイルは読めているのに・・・


原因は、MIME でした。

Live2D Cubismモデルは".moc3"、モーションは".motion3.json"です(Cubism 2.x系は".moc" ".mtn")

要は、このファイルの拡張子が不明のため、読めなかったようです。

StartUp.cs に下記の記述を記載すれば、全ての拡張子が読めるようになります。


StartUp.cs

public void Configure(IApplicationBuilder app)

{
app.UseStaticFiles(new StaticFileOptions()
{
ServeUnknownFileTypes = true
});
}

本当はセキュリティ的な意味でも、特定の拡張子だけを反映するようにしたほうがいいかなーとは思います。


余談:IISでいうと...

これですね。

2017-08-24_15h40_30.png


参考

Introduction to working with static files in ASP.NET Core