情况是这样的,后台中有个图片上传的方法,接收Base64字符串(为了方便移动端上传图片),将字符串转成图片后保存.
现在开发前端时,FF和Chrome可以用过HTML5的 FileReader 的 readAsDataUrl来直接获取所选择文件的base64字符串..
而IE8 不支持HTML5,所以不能这样写.
后来在网站找了很久之后,发现如下的js代码在本地页面上能获取到base64字符串.
可是将页面放到服务器的时候,就提示"拒绝访问" 了,猜它是由于跨域的原因吧..
代码如下:
var realPath=getFilePath( input.value);//获取文件的真实本地路径. var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); xmlHttp.open("POST",realPath, false); xmlHttp.send(""); var xml_dom = new ActiveXObject("MSXML2.DOMDocument"); var tmpNode = xml_dom.createElement("tmpNode"); tmpNode.dataType = "bin.base64"; tmpNode.nodeTypedValue = xmlHttp.responseBody; var imgBase64Data = tmpNode.text;
看来用http请求的方式不行..
请问有什么办法可以让IE8读取出所选图片的base64呢?
谢谢了!