3 回答
TA贡献1789条经验 获得超8个赞
我使用的是 windows 机器(windows 10 和 windows server 2019),我在 javascript 文件上遇到了同样的问题,我进入注册表并将其从“text/plain”\HKEY_CLASSES_ROOT\.js > "Content Type"
更改为“application/javascript”,然后重新启动 PC并修复了它
TA贡献1900条经验 获得超5个赞
为什么会这样?
出现此错误是因为 Go 正在自动检测文件的内容类型。为了进行自动检测,它使用一个映射,该映射指向文件扩展名(如 .js)-> MIME 类型(如文本/纯文本)。要获取此地图,它会从本地机器读取它。因此,如果您的本地计算机在其注册表(或您的操作系统的等效项)中对于 .css 文件的值不正确,并且您使用的代码会自动检测正在提供的文件的 MIME 类型,那么这可能会发生。
什么是注册表设置不正确?
我在重新安装或卸载 Visual Studio 时遇到不正确的注册表值。
Windows修复
您需要使用 regedit 编辑注册表项,以便“内容类型”注册表项指向正确的值。您可以在两个地方找到扩展密钥:
HKEY_CLASSES_ROOT 包含一个列表。就我而言,我在该列表中查找 .js 并将其值从 text/plain 更改为 application/javascript。在原始发帖者的位置,错误似乎在 .css 中,因此您将 HKEY_CLASSES_ROOT\.css 键“内容类型”设置为文本/css。
HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES 也包含一个列表。您应该以相同的方式更新它,使其与 HKEY_CLASSES_ROOT 相匹配。在我的例子中,这已经正确设置为 application/javascript 所以我假设它不是 Go 正在读取的第一个注册表值。
TA贡献1827条经验 获得超9个赞
我在 Windows 上遇到了这个问题,我通过
func FixMimeTypes() {
err1 := mime.AddExtensionType(".js", "text/javascript")
if err1 != nil {
log.Printf("Error in mime js %s", err1.Error())
}
err2 := mime.AddExtensionType(".css", "text/css")
if err2 != nil {
log.Printf("Error in mime js %s", err2.Error())
}
}
- 3 回答
- 0 关注
- 138 浏览
添加回答
举报