如何在IE8中启用JavaScript文件API

sae*_*eed 6 javascript browser asp.net internet-explorer-8

我在asp.net中开发了一个web应用程序,在这个项目中有一个页面,用户应该选择图片格式的文件(jpeg,jpg,bmp,...),我想在页面中预览图像但我不喜欢我想将文件发布到服务器我希望在客户端处理它我已经通过文件API使用java脚本函数完成它但它只适用于IE9但是大多数客户使用IE8的原因是IE8不支持文件API是否有任何方法可以使IE8升级或代码中的一些补丁我意味着检查浏览器是否是IE而不是支持文件API调用自动升级IE8到IE9的功能.

我不想要求用户在消息中执行此操作我想以编程方式执行此操作!
即使可以安装文件API所需的特殊补丁,因为客户认为它是我的应用程序中的错误,而且他们的计算机知识很低,我应该怎么做呢?
我也使用异步文件上传Ajax控件但它使用ajax解决方案和HTTP处理程序将文件发布到服务器,但java脚本在客户端浏览器中完成所有操作!

以下脚本检查浏览器是否支持API

<script>
if (window.File && window.FileReader && window.FileList && window.Blob) 
  document.write("<b>File API supported.</b>");
else
  document.write('<i>File API not supported by this browser.</i>');
</script>   
Run Code Online (Sandbox Code Playgroud)

以下脚本执行读取和加载映像

function readfile(e1)
{
  var filename = e1.target.files[0]; 
  var fr = new FileReader();
   fr.onload = readerHandler;  
  fr.readAsText(filename); 
} 
Run Code Online (Sandbox Code Playgroud)

HTML代码:

<input type="file" id="getimage">

<fieldset><legend>Your image here</legend>
    <div  id="imgstore"></div>
</fieldset> 
Run Code Online (Sandbox Code Playgroud)

JavaScript代码:

<script>
function imageHandler(e2) 
{ 
  var store = document.getElementById('imgstore');
  store.innerHTML='<img src="' + e2.target.result +'">';
}

function loadimage(e1)
{
  var filename = e1.target.files[0]; 
  var fr = new FileReader();
  fr.onload = imageHandler;  
  fr.readAsDataURL(filename); 
}

window.onload=function()
{
  var x = document.getElementById("filebrowsed");
  x.addEventListener('change', readfile, false);
  var y = document.getElementById("getimage");
  y.addEventListener('change', loadimage, false);
}
</script>
Run Code Online (Sandbox Code Playgroud)

tpe*_*zek 10

您无法安装任何特殊内容以在IE8中添加对File API的支持.您可以做的是使用polyfill,以便在本机不支持它的浏览器中实现此功能.看看这个HTML5交叉浏览器Polyfill列表(你应该在File API/Drag and Drop部分找到适合你的东西).