读取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 相关文章推荐
自动更新作用
Oct 08 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
Apr 10 Javascript
指定位置如果有图片显示图片,无图片显示广告的JS
Jun 05 Javascript
100个不能错过的实用JS自定义函数
Mar 05 Javascript
js单词形式的运算符
May 06 Javascript
Jquery焦点与失去焦点示例应用
Jun 10 Javascript
js调试系列 控制台命令行API使用方法
Jun 18 Javascript
jQuery 选择符详细介绍及整理
Dec 02 Javascript
BootStrap daterangepicker 双日历控件
Jun 02 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
Vue中使用webpack别名的方法实例详解
Jun 19 Javascript
JS如何在不同平台实现多语言方式
Jul 16 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学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
js或css实现滚动广告的几种方案
2010/01/28 Javascript
修复ie8&amp;chrome下window的resize事件多次执行
2011/10/20 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
2019/03/29 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
python列表的常用操作方法小结
2016/05/21 Python
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
如何解决cmd运行python提示不是内部命令
2020/07/01 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
后进生转化工作制度
2014/01/17 职场文书
医学求职自荐信
2014/06/21 职场文书
企业领导对照检查材料
2014/08/20 职场文书
2015年新学期寄语
2015/02/26 职场文书
应聘教师求职信范文
2015/03/20 职场文书