IE9 ieframe.dll的Angular上传文件错误

时间:2015-03-26 18:01:04

标签: angularjs iframe internet-explorer-9

我正在使用角度上传来处理通过HTTPS提供的应用程序中的文件上传。 Angular-upload设置为“在不支持FormData时回退到iframe上传”,但在IE9中使用iframe上传HTTPS的组合导致以下错误出现在控制台中:

SEC7111: HTTPS security is compromised by res://ieframe.dll/forbidframing.htm 
SEC7111: HTTPS security is compromised by res://ieframe.dll/ErrorPageTemplate.css 
SEC7111: HTTPS security is compromised by res://ieframe.dll/errorPageStrings.js 
SEC7111: HTTPS security is compromised by res://ieframe.dll/httpErrorPagesScripts.js 
SEC7111: HTTPS security is compromised by res://ieframe.dll/red_x.png 
SEC7111: HTTPS security is compromised by res://ieframe.dll/bullet.png 
SEC7111: HTTPS security is compromised by res://ieframe.dll/background_gradient.jpg 

我尝试将 add name =“X-Frame-Options”value =“SAMEORIGIN”添加到web.config中的自定义标头中,以及删除 add name = “Strict-Transport-Security”值=“max-age = 31536000”,但这两种方法都没有改变结果。

除了拒绝支持IE9(在这种情况下不是选项)之外,还有其他任何想法如何使用IE9中的HTTPS / iframe很好地进行角度上传?

更新我能够通过使用[AllowAnonymous]标记web api方法来部分解决问题。现在已接受上传的文件,但出现了相关问题:

1)我可以在“网络”监视器上看到有来自服务器的响应,如预期的那样

2)然而,监视器以永久“待定”状态显示请求,因此响应数据永远不会返回到Angular控制器,因此永远不会更新UI

3)上面显示的相同错误列表继续显示在控制台

1 个答案:

答案 0 :(得分:2)

错误消息显示您的子帧具有X-FRAME-OPTIONS标头,可防止其被加框。你需要解决这个问题;使用Fiddler验证标头是否已正确删除。

另请注意,IE会将application/json视为文件下载,并且不会将其呈现为内联。