本地预览图片html和js例子,直接上代码吧。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>测试本地图片预览</title>
</head>
<body>
<div>
<div id="preview_div" style="width200pxheight200pxborder1px solid #b6ff00cursorpointer;" onclick="previewFunc();">
<img id="preview_img" style="width:100%;height:200px;"/>
<input id="upload_img" type="file" style="width:0px;height:0px;" />
</div>
</div>
</body>
</html>
<script type="text/javascript">
function previewFunc()
{
document.getElementById("upload_img").click();
}
//值改变的话
document.getElementById("upload_img").onchange = function () {
var sender = this;
if (!sender.value.match(/.jpg|.gif|.png|.bmp/i)) {
alert('图片格式无效!');
return false;
}
var objPreviewImg = document.getElementById('preview_img');
var objPreviewDiv = document.getElementById('preview_div');
if (navigator.userAgent.indexOf("MSIE") > -1) {
//IE浏览器的话
try {
objPreviewImg.src = createFileObj(this.files[0]);
}
catch (e) {
//ie7中不兼容出错跳到这里
this.select();                                  //选择的时候
top.parent.document.body.focus();                //如果要嵌套到iframe中进行显示的话,需要加这个将焦点聚到iframe里面
this.blur();                                   //必须要加这个
var src = document.selection.createRange().text;          //IE 11中改为如下:document.selection ---》  window.getSelection
document.selection.empty();
objPreviewImg.style.display = "none";                 //隐藏img控件
objPreviewDiv.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
objPreviewDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src;
}
else {
//chrome firfox都可以
objPreviewImg.src = createFileObj(this.files[0]);
}
}
function createFileObj(filePath)
{
var url = null;
if (window.createObjectURL != undefined) {
url = window.createObjectURL(filePath);
else if (window.URL != undefined) {
url = window.URL.createObjectURL(filePath);
else if (window.webkitURL != undefined) {
url = window.webkitURL.createObjectURL(filePath);
}
else {
}
return url;
}
</script>

//----------------------------------------------------------------------
以上需要注意的地方是
<inputid="upload_img"type="file"style="width:0px;height:0px;"/>
注意不能用display:none的样式进行隐藏,否则ie7中无论如何都不能获取到对应value值。
以上代码嵌套到iframe中也是可以进行预览的,如果自己想封装组件的朋友可以自己再封装一下,或者用jQuery重写一下就OK了。
来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/workky/p/6061931.html

本地预览图片html和js例子相关推荐

  1. js本地预览图片和转base64

    用代码说话: <html> <head><meta charset="UTF-8"><title></title>< ...

  2. JavaScript 实现图片上传前本地预览

    JavaScript 实现图片上传前本地预览 图片上传前预览,应该算是一个普遍的需求,很多时候可能选中的图片并不是想要的那张,所以需要上传前预览下. JS(浏览器中)是一门特殊的语言,它没有直接读写磁 ...

  3. vue本地上传并预览php,vue.js 实现图片本地预览 裁剪 压缩 上传功能

    以下代码涉及 Vue 2.0 及 ES6 语法. 目标 纯 javascrpit 实现,兼容ie9及以上浏览器,在本地做好文件格式.长宽.大小的检测,减少浏览器交互. 现实是残酷的,为了兼容Ie9 还 ...

  4. H5开发:使用H5、CSS、JS、JQUERY实现从本地选择图片、预览图片、上传图片列表

    需求描述 使用H5.CSS.JS.JQUERY 点击添加图片按钮,从本地选择图片(同名图片不可重复选择),在页面预览选中的图片 点击图片查看大图,点击图片右上角"×"删除此图 点击 ...

  5. js实现图片上传本地预览

    演示地址:https://xibushijie.github.io/static/uploadImg.html <!DOCTYPE> <html><head>< ...

  6. JS实现图片上传时的本地预览,兼容IE和firefox谷歌

    旁白: 一般来说如果要实现在上传前预览图片的话,用纯服务器端的语言必定是办不到的,需要先传到服务器上,哪怕是只是服务器上的临时文件,这也是个很麻烦的事情,不过可以用javascript来做这件事.下面 ...

  7. 搞清Image加载事件(onload)、加载状态(complete)后,实现图片的本地预览,并自适应于父元素内(完成)...

    onload与complete介绍 complete只是HTMLImageElement对象的一个属性,可以判断图片加载完成,不管图片是不是有缓存:而onload则是这个Image对象的load事件回 ...

  8. 本地如何预览php文件上传,如何实现js上传图片本地预览同时支持预览截图的功能...

    在项目中经常会用到js上传图片本地预览的效果,同时需要在预览图上直接预览截图的范围. 下面是我写的简单的demo,是用js结合cropper.js模拟实现此项前端的功能,后台则不考虑. 准备:引入文件 ...

  9. element upload预览_vue element upload实现图片本地预览

    vue使用element实现本地预览,最主要的是将图片路径转换为base64,供大家参考,具体内容如下 HTML class="avatar-uploader" action=&q ...

最新文章

  1. 机器传奇:全球13位科学家和他们的机器人“孩子”
  2. android 购物车小美的店,[转载]【小美教程】买菜累啊有木有?购物车用的购物袋教程来啦.........
  3. 我是架构师-基本类型-float
  4. linux软件包安装方式汇总
  5. html5包含哪些知识,HTML5新知识
  6. Mysql读写分离php脚本
  7. Linux struct itimerval用法
  8. dy96 .pw cc 05.php,05.php · 熟悉的陌生/php - Gitee.com
  9. 2019.01.13 bzoj4137: [FJOI2015]火星商店问题(线段树分治+可持久化01trie)
  10. 关于beginPath()和closePath()的关系canvas的beginPath和closePath分析总结,包括多段弧的情况...
  11. 关于Firefox OS的陈述
  12. MATLAB2016b安装包
  13. 艾默生变频器报警PHP,艾默生变频器故障代码
  14. oracle科学计数法问题,ORACLE中科学计数法显示问题的解决
  15. 黑客为“炫技”随机攻击,结果被“顺着网线”抓了
  16. 十四、理解nn.module方法——学习python面向对象编程(一)
  17. 如何彻底删除ELTIMA的vspd(虚拟串口)
  18. 3个视频提取字幕的方法,简单又高效,建议收藏
  19. 最实用的简历模板之一:QQ邮箱免费简历模板
  20. 第05课:组件测试详解

热门文章

  1. Kotlin 系统入门到进阶
  2. python spider 安装_Python爬虫(11):Scrapy框架的安装和基本使用
  3. linux csr蓝牙驱动,csr4.0蓝牙适配器驱动下载
  4. yii引入php文件,Yii2框架中CSS、JS文件引入要领_PHP开发框架教程
  5. Java设计模式(二十三):访问者设计模式
  6. 画架构图的软件_程序员为什么要学会画技术架构图?
  7. php curl errno 3,PHP curl_errno函数
  8. WIN2008 R2 Active Directory 之一 部署企业中第一台Windows Ser
  9. simple go web application 二维码生成 打包部署
  10. 使用FindAncestor查找方式绑定且不需要使用datacontext