读取input:file的路径并显示本地图片的方法


Posted in Javascript onSeptember 23, 2013
<!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 相关文章推荐
在网页中控制wmplayer播放器
Jul 01 Javascript
JQuery的Validation插件中Remote验证的中文问题
Jul 26 Javascript
复制小说文本时出现的随机乱码的去除方法
Sep 07 Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
Apr 12 Javascript
vue的props实现子组件随父组件一起变化
Oct 27 Javascript
javaScript中定义类或对象的五种方式总结
Dec 04 Javascript
Vue中的v-for指令不起效果的解决方法
Sep 27 Javascript
JavaScript循环遍历你会用哪些之小结篇
Sep 28 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
Jun 20 Javascript
vue仿ios列表左划删除
Sep 26 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
Jun 11 Javascript
通过JS判断网页是否为手机打开
Oct 28 Javascript
js/html光标定位的实现代码
Sep 23 #Javascript
JS加jquery简单实现标签元素的显示或隐藏
Sep 23 #Javascript
JQuery操作单选按钮以及复选按钮示例
Sep 23 #Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
Sep 23 #Javascript
js如何取消事件冒泡
Sep 23 #Javascript
页面载入结束自动调用js函数示例
Sep 23 #Javascript
往光标所在位置插入值的js代码
Sep 22 #Javascript
You might like
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
2016/07/09 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
JS定时器实例
2013/04/17 Javascript
jquery教程ajax请求json数据示例
2014/01/13 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
canvas绘制七巧板
2017/02/03 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
css3 线性渐变和径向渐变示例附图
2014/04/08 HTML / CSS
通过css3的filter滤镜改变png图片的颜色的示例代码
2020/05/06 HTML / CSS
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
写自荐信的七个技巧
2013/10/15 职场文书
平面设计师的工作职责
2013/11/21 职场文书
高三学生评语大全
2014/04/25 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
运动会新闻报道稿
2015/07/22 职场文书
php修改word的实例方法
2021/11/17 PHP