获取网址的MIME文件类型

时间:2018-04-29 00:55:18

标签: angular

给定http://www.....jpg之类的网址,如何在Angular中获取MIME类型?例如图像,音频或视频?

据我所知,可以通过文件上传找到MIME类型,如here所述。

1 个答案:

答案 0 :(得分:0)

为了回答这个问题,我必须做出一些假设:

假设:

  1. http://www.....jpg可以位于任何服务器,而不仅仅是您的
  2. 您可以访问服务器以实现解决方案服务器端的一部分。
  3. 问题1:跨原始请求

    想象一下这种情况:

    您的角度应用程序托管在www.myserver.com上。有人访问您的网站,加载并在浏览器中运行您的角度代码。 现在,您希望他们的浏览器调查www.someimage.com/1.jpg的mime类型。加载该文件将是一个Cross-Origin请求,默认情况下不允许。如果您有权访问这两个服务器,则可以通过实施Cross-Origin Resource Sharing for certain URIs来允许此类请求,但这对您没有帮助。

    问题2:HTTP内容协商

    HTTP实现URI的内容协商。这wikipedia article explains it well。这很重要,因为:

      

    资源可以在几个不同的表示中 ;例如,它可能以不同语言或不同媒体类型提供。

    可能的解决方案:

    虽然您无法使用客户端(角度)代码检查任意URI的MIME类型,但您仍然可以通过在服务器上实现小型http服务来解决此问题。流程将是这样的:

    1. 您的角色应用程序将post请求中的URI传递给您的服务器
    2. 您的服务器检查URI,并与托管资源的服务器建立HTTP连接。如何执行此操作取决于您运行的Web服务器类型。
    3. 确定MIME类型后,您的服务器会使用MIME类型响应初始请求。注意:复数。因为URI可能有许多不同的格式。