代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
JS
】
预览本地图片
作者:
internetafei
/ 发布于
2014/8/12
/
734
在浏览器里预览本地图片,正常情况下,firefox ,chrome 可以直接预览 本地图片 img.src ,单IE 里不行,因为img.src没有读取本地文件的权限。之前想过用 video、flash 控件等,现在发现一个好东西 ,IE 下 的滤镜也可以。不知道微软是怎么想的,img.src 读取不了 ,filter可以 。本身是是在网上找的 。自己做一个收藏。如果侵权,就删除掉。
function PreviewImage(fileObj,imgPreviewId,divPreviewId){ var allowExtention=".jpg,.bmp,.gif,.png";//允许上传文件的后缀名document.getElementById("hfAllowPicSuffix").value; var extention=fileObj.value.substring(fileObj.value.lastIndexOf(".")+1).toLowerCase(); var browserVersion= window.navigator.userAgent.toUpperCase(); if(allowExtention.indexOf(extention)>-1){ if(fileObj.files){//HTML5实现预览,兼容chrome、火狐7+等 if(window.FileReader){ var reader = new FileReader(); reader.onload = function(e){ document.getElementById(imgPreviewId).setAttribute("src",e.target.result); } reader.readAsDataURL(fileObj.files[0]); }else if(browserVersion.indexOf("SAFARI")>-1){ alert("不支持Safari6.0以下浏览器的图片预览!"); } }else if (browserVersion.indexOf("MSIE")>-1){ if(browserVersion.indexOf("MSIE 6")>-1){//ie6 document.getElementById(imgPreviewId).setAttribute("src",fileObj.value); }else{//ie[7-9] fileObj.select(); if(browserVersion.indexOf("MSIE 9")>-1) fileObj.blur();//不加上document.selection.createRange().text在ie9会拒绝访问 var newPreview =document.getElementById(divPreviewId+"New"); if(newPreview==null){ newPreview =document.createElement("div"); newPreview.setAttribute("id",divPreviewId+"New"); newPreview.style.width = document.getElementById(imgPreviewId).width+"px"; newPreview.style.height = document.getElementById(imgPreviewId).height+"px"; newPreview.style.border="solid 1px #d2e2e2"; } newPreview.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + document.selection.createRange().text + "')"; var tempDivPreview=document.getElementById(divPreviewId); tempDivPreview.parentNode.insertBefore(newPreview,tempDivPreview); tempDivPreview.style.display="none"; } }else if(browserVersion.indexOf("FIREFOX")>-1){//firefox var firefoxVersion= parseFloat(browserVersion.toLowerCase().match(/firefox\/([\d.]+)/)[1]); if(firefoxVersion<7){//firefox7以下版本 document.getElementById(imgPreviewId).setAttribute("src",fileObj.files[0].getAsDataURL()); }else{//firefox7.0+ document.getElementById(imgPreviewId).setAttribute("src",window.URL.createObjectURL(fileObj.files[0])); } }else{ document.getElementById(imgPreviewId).setAttribute("src",fileObj.value); } }else{ alert("仅支持"+allowExtention+"为后缀名的文件!"); fileObj.value="";//清空选中文件 if(browserVersion.indexOf("MSIE")>-1){ fileObj.select(); document.selection.clear(); } fileObj.outerHTML=fileObj.outerHTML; } } <input type="file" name="file" onchange="PreviewImage(this,'imgHeadPhoto','divPreview')" /> <font color="red"> 图片大小为40*40</font> <br/> <div id="divPreview"> <img id="imgHeadPhoto" width="200" height="200" src="/admin/upload/"> </div>
试试其它关键字
预览本地图片
预览图片
预览
同语言下
.
Jquery搜索框获取回车事件
.
H5页面添加倒计时,然后自动跳转
.
通过user-agent判断h5页面是在哪个手机App(QQ、微信
.
nginx 禁止未绑定的域名访问
.
JavaScript 获取按键,并屏蔽系统 Window 事件
.
H5之只允许微信浏览器打开,禁止从外部浏览器访问
.
微信打开网址添加在浏览器中打开提示的办法
.
实现JS复制、粘贴,Chrome/Firefox下可用
.
video视频播放,play()、pause()、duration时长、onen
.
HTML5实现MP3上传前的预览和播放时长的获取
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
internetafei
贡献的其它代码
(
6
)
.
在action生成缓存key
.
对webworker的封装
.
螺旋矩阵(由里到外)
.
PHP压缩、解压缩ZIP
.
预览本地图片
.
消除sql2000里的重复数据
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3