手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >读取input:file的路径并显示本地图片的方法
读取input:file的路径并显示本地图片的方法
摘要:复制代码代码如下:ImagepreviewexamplevarloadImageFile=(function(){if(window.Fil...

复制代码 代码如下:

<!doctype html>

<html>

<head>

<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />

<title>Image preview example</title>

<script type="text/javascript">

var loadImageFile = (function () {

if (window.FileReader) {

var oPreviewImg = null, oFReader = new window.FileReader(),

rFilter = /^(?:image/bmp|image/cis-cod|image/gif|image/ief|image/jpeg|image/jpeg|image/jpeg|image/pipeg|image/png|image/svg+xml|image/tiff|image/x-cmu-raster|image/x-cmx|image/x-icon|image/x-portable-anymap|image/x-portable-bitmap|image/x-portable-graymap|image/x-portable-pixmap|image/x-rgb|image/x-xbitmap|image/x-xpixmap|image/x-xwindowdump)$/i;

oFReader.onload = function (oFREvent) {

if (!oPreviewImg) {

var newPreview = document.getElementById("imagePreview");

oPreviewImg = new Image();

oPreviewImg.style.width = (newPreview.offsetWidth).toString() + "px";

oPreviewImg.style.height = (newPreview.offsetHeight).toString() + "px";

newPreview.appendChild(oPreviewImg);

}

oPreviewImg.src = oFREvent.target.result;

};

return function () {

var aFiles = document.getElementById("imageInput").files;

if (aFiles.length === 0) { return; }

if (!rFilter.test(aFiles[0].type)) { alert("You must select a valid image file!"); return; }

oFReader.readAsDataURL(aFiles[0]);

}

}

if (navigator.appName === "Microsoft Internet Explorer") {

return function () {

alert(document.getElementById("imageInput").value);

document.getElementById("imagePreview").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = document.getElementById("imageInput").value;

}

}

})();

</script>

<style type="text/css">

#imagePreview {

width: 160px;

height: 120px;

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);

}

</style>

</head>

<body>

<div id="imagePreview">

</div>

<form name="uploadForm">

<p>

<input id="imageInput" type="file" name="myPhoto" onchange="loadImageFile();" /><br />

<input type="submit" value="Send" /></p>

</form>

</body>

</html>

但是需要注意的是 在IE8中 由于IE8自作聪明的将真实路径隐藏起来了 用alert打印的结果是C:/fakepath/*.jpg 所以导致该方法无法使用

解决办法是:进入工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。

【读取input:file的路径并显示本地图片的方法】相关文章:

javascript清空table表格的方法

js兼容火狐显示上传图片预览效果的方法

jquery实现点击label的同时触发文本框点击事件的方法

JQuery勾选指定name的复选框集合并显示的方法

javascript改变和控制显示的图片大小

JS显示日历和天气的方法

jquery实现图片左右切换的方法

js验证上传图片的方法

Jquery实现动态切换图片的方法

JavaScript获取两个数组交集的方法

精品推荐
分类导航