找不到 face-api.js 的 404 页面

Posted

技术标签:

【中文标题】找不到 face-api.js 的 404 页面【英文标题】:404 page not found for face-api.js 【发布时间】:2020-04-24 19:58:33 【问题描述】:

我正在尝试在本地 IIS 上托管的一个简单项目中实现 face-api.js 但我遇到了以下问题

这是我的 javascript 代码

Promise.all([
faceapi.nets.faceRecognitionNet.loadFromUri('/models'),
faceapi.nets.faceLandmark68Net.loadFromUri('/models'),
faceapi.nets.ssdMobilenetv1.loadFromUri('/models')
]).then(start)

我在 IIS 上添加了我的网站,并在主机文件中添加了一个自定义域,我正在浏览该网站,如下所示:http://facelocal/index.html

我的层次结构也如下所示

响应如下:

谁能帮我解决这个问题?

【问题讨论】:

您的模态框在哪里?模态框应位于可通过 url http://facelocal/index.html/models/&lt;modalname&gt; 访问的位置。参考this 我弄错了应该是facelocal/models/<modalname> 仔细检查您的路径。您正在链接不正确的路径。这就是为什么它显示404错误。你的道路是什么?以及您的文件在哪里? 是的,它是“facelocal/models/”,但仍然无法正常工作,当我尝试在 web.config 的 staticContent 部分中添加应用程序/八位字节流时​​出现同样的错误 尝试使用getpostman.com 测试您的链接,看看是路径问题还是代码问题 【参考方案1】:

错误信息很清楚。

HTTP 错误404.3 是 IIS 中的特定错误:MIME type restriction。

IIS 需要知道什么内容类型来响应没有扩展名的静态文件(比如你的模型文件)。

由于默认未定义,因此需要为无扩展名的静态文件设置 MIME 类型。

将以下web.config 文件放在您的Web 应用程序的根文件夹中,或者通过在configuration/system.webServer/staticContent 下分别添加节点removemimeMap 来更新现有文件。

我不知道你的模型文件 MIME 类型应该是什么,所以假设它是text/plain

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <!-- "." means no extension -->
            <!--  to prevent future duplication errors, remove "." mime map in case a higher level configuration is defined somewhere in the web server tree -->
            <remove fileExtension="." />
            <!-- now add the mime map again -->
            <mimeMap fileExtension="." mimeType="text/plain" />
        </staticContent>
    </system.webServer>
</configuration>

如果您设法对此进行配置,那些404.3 错误将不会再次发生。


相关:Adding Static Content MIME Mappings <mimeMap>

【讨论】:

非常感谢您的回答,您节省了我的时间,我试图以这种方式添加它,但我的语法不正确

以上是关于找不到 face-api.js 的 404 页面的主要内容,如果未能解决你的问题,请参考以下文章

Django:找不到页面(404)

找不到页面 (404)

无缘无故找不到Codeigniter 404页面

如何拯救在rails中找不到404页面?

找不到页面错误 404 localhost Apache/2.4.10 (Win32)

Github 页面 404 找不到文件