允许在ASP.NETMVC中使用mimes

Allowing mimes in ASP .NET MVC

本文关键字:mimes NETMVC ASP      更新时间:2023-09-26

简短问题:

除了编辑Web.config之外,我还需要做些什么来允许MVC应用程序中的文件扩展名吗?以下不起作用:

<system.webServer>
<staticContent>
  <mimeMap fileExtension=".cch" mimeType="application/unknown" />
  <mimeMap fileExtension=".cc1" mimeType="application/unknown" />
</staticContent>
<handlers>
  ...
</handlers>

错误页面图片链接

长问题(详细信息):

最重要的细节是,上面的代码在非mvc ASP.NET web应用程序中运行,因此mvc中有一些东西可以防止这种情况发生(这也是我在其他问题中发现的高评分答案所说的)。我也知道路径是正确的,因为我可以访问文件(.cch,.cc1)所在的同一文件夹中的图片文件。

我使用了一个软件(Fusion 2.5)来创建一个应用程序,该应用程序将与HTML5一起工作。导出应用程序时,会得到一个index.html、一个javascript文件、包含所有图形的图片文件、一个.cch文件和一个.cc1文件。

我在Visual Studio 中的项目图片

如果你能看到index.html页面,这就是我正在尝试的文件。显然,这不是在MVC中做事情的正确方式,但网站确实打开了,并显示了一个在.cch文件上找不到的404(如果我点击这个,我会首先得到我链接的错误页面)。为了记录在案,我还试图将index.html的内容移动到布局文件中,但这里也出现了同样的错误。访问.png文件很好。

使用.ch文件的代码:

<script src="src-right/Runtime.js"></script>
<script>
    window.addEventListener("load", windowLoaded, false);
    function windowLoaded()
    {
        new Runtime("MMFCanvas", "resources-right/right.cch");
    }
</script>

有人知道发生了什么事吗?

编辑:

我通过做一件很久以前就应该做的事情来解决这个问题:启动一个新的MVC项目。我不知道实际的问题是什么,但比较我的旧项目和新项目中的两个web.config文件,我发现它们完全不同。MVC项目也是我在这台电脑上的第一个项目,在此期间,我做了很多事情,比如修复与Azure的连接等。也许,在路上的某个地方,出了问题。

再次感谢:)

我打赌404是服务器返回的响应,因为服务器中没有设置MIME类型。

转到IIS配置并在那里添加mime类型。

使用mimetype application/octet-stream而不是application/unknown

"八位位组流"子类型用于指示主体包含任意二进制数据。