最近在研究矢量切片的相关东西,使用postgis切出不同层级的切片.pbf文件,然后发布到服务器供前端调用,发布服务的web服务器有Apache、Nginx、IIS、Lighttpd、Tomcat、Jetty、Node.js、Caddy这些,我选择的是IIS发布的,关于如何在IIS 本地部署服务器,可以选择此文参考:IIS 本地部署服务器
部署完之后把你的切片数据放置在网站物理路径下:
然而在用前端请求服务时,一直报这个错
很是费解,经过排查,发现问题出在这'Content-Type': 'text/html; charset=utf-8'
应该改成:'Content-Type': 'application/x-protobuf',但是怎么改呢?下面才是重点:
在IIS中设置Content-Type为application/x-protobuf主要是配置MIME类型以支持Protobuf格式的文件。Protobuf是一种轻量级的二进制数据交换格式,可以用于RPC系统和持续数据存储。
以下是在IIS中设置MIME类型的步骤:
打开IIS管理器。
在连接栏,找到并点击你想要设置MIME类型的网站或应用程序。
双击“HTTP头”图标。
在“MIME类型”标签下,点击“新建”。
在“扩展名”框中输入.proto,表示Protobuf文件的扩展名。
在“MIME类型”框中输入application/x-protobuf。
点击“确定”保存设置。
注意:如果你的Protobuf文件使用的扩展名不是.proto,请相应地替换上述步骤中的.proto。
这样设置之后,IIS将能够正确地提供Protobuf文件,并在响应头中设置正确的Content-Type。
这样,就OK了,成功调用!
对了,使用IIS服务器,前端调用程序一定要放物理路径下:
这样才能完美解决,玩转矢量切片