我想在上传之前显示图像.我尝试了下面的代码,但它只在firefox中工作.但我需要让它在IE中工作.任何人都建议我最好的解决方案.我在下面给我的代码可以任何人弄清楚我去哪里我用Google搜索了将近一整天.但是找不到我的解决方案这是我的代码
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]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的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>
Run Code Online (Sandbox Code Playgroud)
出于安全原因,IE9不支持访问客户端计算机上的文件,这就是您没有看到任何预览的原因.您需要将图像上传到服务器上然后显示它.
BIRD的观点
一种方法是在上传时,在使用ajax将文件保存到服务器上的临时文件夹时显示进度条,图像名称作为临时ID,并将ID存储在数据库中(以便以后可以删除它) )然后将其显示在图像控件中.如果您以后需要删除该文件,只需使用该ID删除它,或者如果您需要将其保存,请将其移至图像文件夹.
| 归档时间: |
|
| 查看次数: |
4673 次 |
| 最近记录: |