我正在尝试在 ASP.NET MVC 4 Razor 页面中运行一个小的 MelonJS 游戏。首先,我认为可以在没有任何 MelonJS 知识的情况下解决这个问题(仅限 MVC 4)。
问题是:
在某一时刻,MelonJS 需要从服务器加载一些文件(我将文件放在 Content/data/[..]/file.ext 中)。为此,它为每个文件执行一个 HTTP GETlocalhost:XXXX/%EveryThingIWant/file.ext%.
当然,它失败了。我尝试启用 DirectoryBrowsing 但它没有解决问题。为了让它快速工作,我这样做了(我并不为此感到自豪,这只是一个快速修复):
我在我的一个控制器中创建了一个新操作:
//
// GET: /Game/Data
public FileResult Data(string path)
{
string physicalPath = Server.MapPath("~/Content/" + path);
byte[] fileByte = null;
using (FileStream fs = new FileStream(physicalPath, FileMode.Open))
{
fileByte = new byte[fs.Length];
fs.Read(fileByte, 0, (int)fs.Length);
}
var result = new FileContentResult(fileByte, "tmx");
return result;
}
我将 %EveryThingIWant/file.ext% 设置为“Game/Data?path=[..]/file.ext”。
它有效,但我想知道是否没有更好的解决方案来执行此操作。把文件放在其他文件夹?我尝试启用 DirectoryBrowsing 并添加 MIME 类型,但我现在失败了。有可能的?