Javascript 在IE9中上载前显示图像预览
我想在上传之前显示图像。我尝试了以下代码,但它只在firefox中工作。但我需要让它在IE中工作。有人能给我建议最好的解决方案吗?我在下面给出我的代码。有人能知道我去了哪里吗 我在谷歌上搜索了将近一整天,但找不到解决办法 这是我的密码Javascript 在IE9中上载前显示图像预览,javascript,Javascript,我想在上传之前显示图像。我尝试了以下代码,但它只在firefox中工作。但我需要让它在IE中工作。有人能给我建议最好的解决方案吗?我在下面给出我的代码。有人能知道我去了哪里吗 我在谷歌上搜索了将近一整天,但找不到解决办法 这是我的密码 enter code here function loadname(img, previewName) { var isIE = (navigator.appName == "Microsoft Internet Explorer");
enter code here
function loadname(img, previewName) {
var isIE = (navigator.appName == "Microsoft Internet Explorer");
var path = img.value;
var ext = path.substring(path.lastIndexOf('.') + 1).toLowerCase();
if (ext == "gif" || ext == "jpeg" || ext == "jpg" || ext == "png") {
if (isIE) {
alert(path);
$('#' + previewName).attr('src', path);
} else {
if (img.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#' + previewName).attr('src', e.target.result);
}
reader.readAsDataURL(img.files[0]);
}
}
}
}
我的html是
<body><form method="post" >
<input type="file" class="file" onchange="loadname(this,'previewimg')" id="file" /><img src="about:blank" name="previewimg" id="previewimg" alt="" style="width:2in; height:2in"/>
</form>
出于安全原因,IE9不支持访问客户端计算机上的文件,这就是为什么您看不到任何预览。您需要将图像上载到服务器上,然后显示它 鸟瞰
一种方法是,在上传时,显示进度条,同时使用ajax将文件保存到服务器上的临时文件夹中,将图像名称作为临时ID,并将ID存储在数据库中(以便以后删除),然后在图像控件中显示。如果以后需要删除该文件,只需使用ID将其删除,或者如果需要保存,请将其移动到您的“图像”文件夹。您能否提供有关如何执行此服务器端@Ashwin Singhy的示例?您需要服务器端脚本来执行此操作。