HTML5实现图片预览功能
两种方式实现
- URL
- FileReader
Index.jsp文件
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<link rel="stylesheet" type="text/css" href="css/common.css" />
<script type="text/javascript" src="js/jquery-1.11.1.js" ></script>
<script type="text/javascript">
//方式1:URL方式实现
function preview1(file) {
var img = new Image(), url = img.src = URL.createObjectURL(file);
var $img = $(img);
img.onload = function() {
URL.revokeObjectURL(url);
$('#previewImg').empty().append($img);
};
}
//方式2:FileReader方式实现
function preview2(file) {
var reader = new FileReader();
reader.onload = function(e) {
var $img = $('<img>').attr("src", e.target.result);
$('#previewImg').empty().append($img);
};
reader.readAsDataURL(file);
}
$(function() {
//jquery实现图片点击显示
$(".thumbs a").click(function() {
var largePath = $(this).attr("href");
var largeAlt = $(this).attr("title");
$("#largeImg").attr({
src: largePath,
alt: largeAlt
});
return false;
});
//实现图片预览功能:preview1使用URL方式实现;preview2使用FileReader方式实现
$('[type=file]').change(function(e) {
var file = e.target.files[0];
preview2(file);
});
}); </script> </head>
<body>
<form action="">
请选择图片:<input id="myfile" name="myfile" type="file" />
<div id="previewImg"></div>
</form>
<hr>
<h1>图片预览</h1>
<p><img id="largeImg" src="data:images/img1-lg.jpg" alt="Large Image" /></p>
<p class="thumbs">
<a href="images/img2-lg.jpg" title="image2"><img src="data:images/img2-thumb.jpg"></a>
<a href="images/img3-lg.jpg" title="image3"><img src="data:images/img3-thumb.jpg"></a>
<a href="images/img4-lg.jpg" title="image4"><img src="data:images/img4-thumb.jpg"></a>
<a href="images/img5-lg.jpg" title="image5"><img src="data:images/img5-thumb.jpg"></a>
<a href="images/img6-lg.jpg" title="image6"><img src="data:images/img6-thumb.jpg"></a> </p>
</body>
</html>
common.css文件
body {
margin: 20px auto;
padding:;
width: 580px;
font: 75%/120% Arial, Helvetica, sans-serif;
text-align:center;
}
h2 {
font: bold 190%/100% Arial, Helvetica, sans-serif;
margin: 0 0 .2em;
}
h2 em {
font: normal 80%/100% Arial, Helvetica, sans-serif;
color: #999999;
}
#largeImg {
border: solid 1px #ccc;
width: 550px;
height: 400px;
padding: 5px;
}
.thumbs img {
border: solid 1px #ccc;
width: 100px;
height: 100px;
padding: 4px;
}
.thumbs img:hover {
border-color: #FF9900;
}
#large{
position:absolute;
z-index:;
}
URL.revokeObjectURL方法Opera不支持,FileReader除IE9及以下不支持,其它浏览器都支持。
HTML5实现图片预览功能的更多相关文章
- 原生js实现ajax的文件异步提交功能、图片预览功能.实例
采用html5使得选择图片改变时,预览框中图片随之改变.input文件选择框美化.原生js完成文件异步提交 效果图: 代码如下,可直接复制并保存为html文件打开查看效果 <html> & ...
- 如何通过js实现图片预览功能
一.效果预览 效果图: 二.实现代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...
- 原生JS实现图片预览功能
html代码: <div class="album-new fr"> <div class="upload-btn btn-new container& ...
- H5图片预览功能
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- 通过file文件选择图片预览功能
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JavaScript图片上传前的图片预览功能
JS代码: //js本地图片预览,兼容ie[6-9].火狐.Chrome17+.Opera11+.Maxthon3 function PreviewImage(fileObj, imgPreviewI ...
- 34)django-上传文件,图片预览功能实现
目录 文件上传 1)form表单提交上传(会刷新) 2)ajax上传 3)iframe 4)图片上传预览(思路保存文件的时候,把文件保存文件的路径反馈回,客户端 ...
- JS实现的图片预览功能
之前的博文有实现过图片上传预览,但那种方法是预览时就将图片上传,会产生很大的浪费空间.找到了之前有人写的用JS实现的图片预览,就说用js将上传的图片显示,上传代码在之前的博文中有写到. 以下是实现的代 ...
- ext图片预览功能实现,前端代码
效果图: extjs代码: // 模型 Ext.define('ParkingAttachment', {extend: "Ext.data.Model", idProperty: ...
随机推荐
- 容易出错的 if 语句
下面列举几个容易出错的if语句实例,如果后续还有新的发现,还会继续更新! 出错一:在括起控制表达式的括号后面加分号 ; ); printf("值为正"); 初次运行,感觉一切正常, ...
- discuz 手机上看帖子图片显示“[viewimg]”如何修改?
手机bbs上看帖子,如果帖子中有外网图片显示的是“[viewimg]”,而不是图片pre_forum_thread 主题表pre_forum_post 帖子表 库表pre_forum_post中字段m ...
- (转)DSound开发常用的几个结构
WAVEFORMATEX WAVEFORMATEX { WORD wFormatTag; WORD nChannels; DWORD nSamplesPerSec; DWORD nAvgBytesPe ...
- 8款最新CSS3表单 环形表单很酷
当我们在网站上注册登录还是提交评论,都需要用到表单,今天我们来分享8款最新CSS3表单,有几个效果很酷很特别,有些也非常实用,一起来看看. 1.CSS3环形特色表单 转圈切换表单焦点 这款CSS3表单 ...
- 精选10款超酷的HTML5/CSS3菜单
今天向大家精选了10款超酷的HTML5/CSS3菜单,给你的网页添加不一样的精彩,一起来围观一下吧. 1.CSS3手风琴菜单 下拉展开带弹性动画 利用CSS3技术可以实现各种各样的网页菜单,我们之前也 ...
- Struts2+Hibernate+Spring(SSH)三大框架整合jar包
Struts2 + Spring3 + Hibernate3 框架整合 1. 每个框架使用 (开发环境搭建 )* 表现层框架 struts2 1) jar包导入: apps/struts2_blank ...
- linux cfs调度器
在抽象模型中vruntime决定了进程被调度的先后顺序,在真实模型中决定被调度的先后顺序的参数是由函数entity_key决定的. static inline s64 entity_key(str ...
- 通过expect免自动输入密码登陆远程服务器
通过expect免自动输入密码登陆远程服务器 1.前提必须已经安装expect 2.新建login.sh,文件内容如下 #!/usr/bin/expect -f spawn ssh root@140. ...
- ADCD 1.9 ZOS 配置 CTCI-W32 TCPIP 网络
试验步骤:两步走,第一步修改Hercules的配置文件 在hercules 配置文件末尾加上 0E20-0E21 CTCI -n 0A-00-27-00-00-00 192.168.5 ...
- redis的有序集合ZSET(stored set)
相关命令 1.ZADD ZADD key-name score member [score member……] 将带有给定分值的成员添加到有序集合里 2.ZREM ZREM key-name mem ...