【发布时间】:2013-06-13 09:28:30
【问题描述】:
我想在将图像上传到服务器之前使用 JQuery 创建一个预览。
我的代码,js代码:
$(function(){
Test = {
UpdatePreview: function(obj){
// if IE < 10 doesn't support FileReader
if(!window.FileReader){
// don't know how to proceed to assign src to image tag
} else {
var reader = new FileReader();
var target = null;
reader.onload = function(e) {
target = e.target || e.srcElement;
$("img").prop("src", target.result);
};
reader.readAsDataURL(obj.files[0]);
}
}
};
});
我的html:
<input type='file' name='browse' onchange='Test.UpdatePreview(this)' />
<br/><br/>
<img src="#" alt="test" width="128" height="128" />
见 jsfiddle:http://jsfiddle.net/aAuMU/
onload 之后,我看到图像的 src(使用 Google 控制台应用程序),它看起来像:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD//gAEKgD/4gv4SUNDX1BST0ZJTEUAAQEAAAvoAAAAAAIAAABtbnRyUkdCIFhZWiAH2QADABsA...
这是一种在 javascript 中获取图像基础并分配给图像的方法,以防我使用 IE 作为浏览器?
FileReader 在 IE
【问题讨论】:
-
不使用
flash或silverlight等第三方扩展是不可能的,如果浏览器不支持FileReader,那么你需要上传它。 -
您可以通过创建服务器端解决方案来为旧版浏览器创建回退。选择图像后,它会通过 ajax 调用发送到服务器,经过处理、返回并显示为缩略图
标签: javascript jquery