读取input:file的路径并显示本地图片的方法_Javascript教程-查字典教程网
读取input:file的路径并显示本地图片的方法
读取input:file的路径并显示本地图片的方法
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下: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选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类