#########################2021-03-21更新##################
近期又遇到项目加载json文件,在自己电脑本地加载地图json数据正常,但是其他同步开发的电脑显示不出来,原因描述如下,但是解决方法可以更新下,效果比较好:
在web.conf文件中加如下配置(一定要在当前项目的web.conf下配置)
<configuration> -> <system.webServer> -> <staticContent>
在 <system.webServer>下加如下配置:
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
<mimeMap fileExtension=".mrt" mimeType="application/json" />
</staticContent>
不仅仅地图,其实其他需要加载本地json的,都可以加载上面那一串配置
##############################################
最近,使用Echarts开发地图功能,地图坐标数据要通过JSON本地文件加载渲染,遇到一个怪事,自己和一些小伙伴的电脑是可以正常加载的,也有一些小伙伴的电脑是无法加载的,检查过本地同步过来的项目代码包含该json文件,本地不存在缺少该json的情况,然后VS调试IIS渲染出来的就是缺失,并显示找不到该JSON文件,奇了怪!!!
后面请教大佬,是IIS配置相关导致,需要改下配置即可,非代码问题.加载数据为JSON格式的都加载不了,应该是MIME类型没有正确设置的问题.
网络上找了一些资料看了.主要有两个方法,一个是改本地IIS配置(推荐),另一个是在项目的config中配置,这两种方法都测试过,都可行,但是推荐使用第一种,原因后面说.
一 改本地IIS配置(推荐)
在IIS的安装目录,通过执行以下命令,修改IIS的配置(记得cmd 要cd到IIS的安装目录哦,具体如图)
Tips:IIS目录一般就是那个,你可以去那个目录下检查下,一开始我也在想IIS没有安装会在哪里?去那边一看,发现就是截图上面的路径,当然电脑可能会有差异,具体需要自行验证.
二 Config配置本项目
在项目的Web.config添加以下配置,主意看下配置节点,其实只要<staticContent>节点内容,system.webServer根节点应该是有的.
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json"/>
</staticContent>
</system.webServer>
这个方法是通过给本项目的config加一个配置,可行,但是会有缺陷,第一只对本项目配置生效,第二同步开发正常显示的小伙伴,在加了这段代码后,项目会报错(亲测,最后只能老实删除取消了),第三 和第二个一样的道理,在项目打包,挂在iis上的时候可能提示这句错误,同样需要删除,所以推荐还是通过第一种方法,改自己电脑的IIS配置吧.