资源解释为图像,但使用MIME类型text / html传输 - Angular

时间:2015-01-22 05:57:54

标签: html angularjs mime-types meta-tags

在我的角度应用中,我使用上传字段,并在文件字段下方显示上传图片的缩略图。图像上传并显示缩略图,但有时缩略图未显示,此时我收到此错误Resource interpreted as Image but transferred with MIME type text/html

但是相同的图像可能会在某个时间运行,也可能不会在其他时间运行。这是.httaccess的问题吗?

RewriteEngine   On
RewriteBase     /foldername/
RewriteCond     %{REQUEST_URI} !^(/index\.php|/img|/js|/css|/robots\.txt|/favicon\.ico)
RewriteCond     %{REQUEST_FILENAME} !-f
RewriteCond     %{REQUEST_FILENAME} !-d
RewriteRule     .               index.html              [L]

2 个答案:

答案 0 :(得分:1)

如果您对图片网址使用任何角度表达式,请使用ng-src

否则,浏览器会看到时髦的网址,如:

<img src="{{image.url}}">

并尝试向显然无法解决的路径发出请求。

然而,以下内容不会产生src,直到使用已解析的表达式创建角色

<img ng-src="{{image.url}}"> <!-- browser sees no "src" yet therefore doesn't make a request -->

答案 1 :(得分:0)

事实是:

  

... 但有时缩略图没有显示,当时我收到此错误资源被解释为图片但是使用MIME类型text / html传输...

应该在这里回答:Resource interpreted as image but transferred with MIME type text/html

(一个符合上述情况的答案)

  

如果图像路径设置不正确,可能会发生这种情况。例如,相对于当前目录&#34; images / myimage.gif&#34; vs相对于web root&#34; /images/myimage.gif"。

     

对&#34; text / html&#34;的引用可能会建议服务器返回错误。

正如charlietfl所指出的,这取决于网址准备好了。在角度中,它可能稍晚,而不是由DOM触摸/执行<img src=""。所以要做到 - 等待网址准备就绪 - 将其更改为 ng-src