Windows Journal自动把下载的.json改成.customization的奇怪Bug
前言
最近在折腾 Zashboard 时,遇到了一个非常诡异的问题:
明明应该下载的是 .json 配置文件,它的导入也是要求的 .json 文件,结果浏览器下载出来的文件却全部变成了:
zashboard-settings.customization
一开始我以为是 zashboard 自己定义了奇怪的文件格式,故意使用了 .customization 后缀,来表明它们是两个不同的文件,但是询问后发现它们逻辑上就是一个文件
但事情并没有那么简单
经过
我尝试了很多方法来解决这个问题:更换浏览器、清除缓存、Incognito 模式、更换 Zashboard 版本、但问题依旧存在
后面,我注意到了 .customization 的默认打开方式是 Windows Journal App,便尝试卸载了 Journal App,结果问题解决了,下载的文件后缀又变回了 .json
我后面询问了 AI,经过自己的检查,得到了以下的答案:(所以以下内容都是 AI 写的)
打开注册表,进入 HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/json
发现一个非常离谱的东西:
Extension = .customization
而正常情况下应该是:
Extension = .json
也就是说:
这个 Journal App 把全局的:
application/json
MIME 类型关联到了:
.customization
于是 Windows 告诉浏览器:
“所有 JSON 下载,都应该保存成 .customization。”
浏览器就乖乖照做了。
所以下载逻辑变成:
服务器返回:
Content-Type: application/json
↓
Windows 查询 MIME
↓
application/json → .customization
↓
浏览器保存:
xxx.customization
破案
结论
Journal App 修改了 Windows 全局 MIME 注册表,把 application/json 的默认扩展名改成了 .customization,导致所有下载的 JSON 文件都被错误地命名为 .customization
修复这个问题,把 HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/json 里面的 Extension 键值改成 .json ,就能解决了







