读取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 相关文章推荐
js null undefined 空区别说明
Jun 13 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
May 21 Javascript
原生 JS Ajax,GET和POST 请求实例代码
Jun 08 Javascript
javascript中href和replace的比较(详解)
Nov 25 Javascript
JavaScript中Array对象用法实例总结
Nov 29 Javascript
JS ES6中setTimeout函数的执行上下文示例
Apr 27 Javascript
Angular项目从新建、打包到nginx部署全过程记录
Dec 09 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
Apr 30 Javascript
详解Vue.js中引入图片路径的几种方式
Jun 17 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
Dec 16 Javascript
vue data有值,但是页面{{}} 取不到值的解决
Nov 09 Javascript
关于Javascript闭包与应用的详解
Apr 22 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/10/20 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
thinkPHP模板中for循环与switch语句用法示例
2016/11/30 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
php实现session共享的实例方法
2019/09/19 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
JavaScript去掉空格的方法集合
2010/12/28 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
javascript结合canvas实现图片旋转效果
2015/05/03 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
python正则表达式面试题解答
2020/04/28 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
python三大神器之fabric使用教程
2019/06/10 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
二年级体育教学反思
2014/01/15 职场文书
服装电子商务创业计划书
2014/01/30 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
八年级作文之友情
2019/11/25 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
vue封装数字翻牌器
2022/04/20 Vue.js
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python