求助:IE浏览器中本地图片转Base64 问题

baidu_31156765 2015-09-08 10:21:14
做一个图片前台压缩后上传的功能,简要代码如下


$('input[type=file]').change(function(){
var file=this.files[0];//这句貌似不支持IE
var reader=new FileReader();
reader.onload=function(){
var url=reader.result; // 通过 reader.result 来访问生成的 DataURL
}
alert(url);

.reader.readAsDataURL(file);
});


这样,就成功地将选择的图片转成为DataURL了。

在360浏览器中测试没有问题,但IE中测试时,通过不了,发现运到到
var file=this.files[0];
这一句时,就停止了,后面的都不运行了。
我要的目的很简单,就是,将 input[type=file] 中选择的图片,转成为 DataURL格式的Base64码(在前台完成),
网上百度了两天的资料,都没有得头绪。有同学能帮我解答一下吗? 感激不尽。
在线等
...全文
597 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_31156765 2015-09-15
  • 打赏
  • 举报
回复
我要实现的不是图片预览 , 有没有什么其它的方法可以转 BASE64吗? 附上我的DEMO


<!DOCTYPE html>
<html>
<head>
<script src="http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js">
</script>
<script>
$(document).ready(function(){
	$('#upfile').change(function(){
		var file=upfile.files[0];
		var reader=new FileReader();
		reader.onload=function(){
			// 通过 reader.result 来访问生成的 DataURL
		        var url=reader.result;
			$("#base").val(url)
			//alert(url);
		}
		reader.readAsDataURL(file); 
	});
});
</script>
</head>
<body>
<input id="upfile" type="file" value="选择">
<BR/>
<textarea id="base" rows="10" cols="150"></textarea>
</body>
</html>

这个只有在支持HTML5的浏览器下有效, 要在IE8及下以浏览器实现这个功能,有其它办法吗?
Go 旅城通票 2015-09-15
  • 打赏
  • 举报
回复
自己写插件安装到浏览器..
Go 旅城通票 2015-09-09
  • 打赏
  • 举报
回复
FileReader是HTML5新增的。IE8-不支持,要IE9+去才行。。而且客户压缩图片缩要使用到canvas对象也是html5的东西

客户端图片预览可以参考这个:javascript客户端图片预览,兼容最新firefox,chrome和IE11

87,840

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧