• 为Windows Azure Web站点添加MIME类型解决文件下载失败的问题


    这几天在倒腾Autodesk 360 Viewer,前面的文章也介绍过了,这将是一个全新的在线模型浏览工具。我做了个实验,把A360Viewer放在一个web 站点,然后发布到Windows Azure上去。目前A360 Viewer的模型是*。svf文件,可站点发布成功后,奇怪的事情发生了。通过Chrome浏览站点,页面文字图片显示均正常,唯独模型迟迟不加载。后来通过Chrome的开发者工具条(按F12)一看,原来所有的*.svf即模型文件都返回HTTP 404 file not found错误。这怎么可能呢?模型文件我明明已经上传到web服务器了啊,怎么会找不到呢?对了,我是用Chrome的开发者工具中 的network 选项卡发现*.svf文件没有下载成功的,其他浏览页有类似的工具:

    image

    后来想到,http 404可能不是仅仅是文件不存在,权限错误、MIME类似错误等也会引起这个问题,对于*.svf这样比较少见的扩展名,一般的web服务不认识也情有可原,不认识就不知道怎么处理,所以返回404错误。解决的办法就是为他加上MIME类型。在本地IIS管理服务器中我们可以这么操作(如图):

    image image

    不过我现在使用的是Windows Azure的web站点,不能访问到IIS管理器了,那怎么办呢?放Google搜索了一下,这个链接this link 给出了正确的方法,即修改web.config文件,把自定义的MIME类型加入到web.config文件中:

    <?xml version="1.0"?>

    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->

    <configuration>

        <system.web>
          <compilation debug="true" targetFramework="4.0" />
        </system.web>
     
      <system.webServer>
        <staticContent>
          <mimeMap fileExtension=".svf" mimeType="vector/vnd.svf" />
          <mimeMap fileExtension=".pack" mimeType="vector/vnd.svf" />
        </staticContent>
      </system.webServer>

     
    </configuration>

    重新发布后,一切都OK了。大多数时候错误信息能帮你定位问题所在,不过也有时候错误信息会和你开个小玩笑 ;)

  • 相关阅读:
    prepareStatement的用法和解释
    java socket报文通信(一) socket的建立
    java多线程小结
    Java_XML操作
    socket实例2
    socket实例1
    Socket小结
    从源码角度理解android动画Interpolator类的使用
    android使用属性动画代替补间动画
    OKHttp的简单使用
  • 原文地址:https://www.cnblogs.com/junqilian/p/3608127.html
Copyright © 2020-2023  润新知