input file 实现图片预览效果
2014-08-28 14:03
309 查看
在项目中遇到用input标签file类型的文件上传,想实在上传之前进行图片的预览功能;之前的做的一个解决方案是文件先上传上去然后返回地址再显示在页面上,这样就不太好,因为用户基本信息可能并没有保存,但是头像却已经改变,如果在需要改变就导致了多余图片的保存服务器
在网上找了下解决方案,如下所示:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>html5 图片上传预览</title>
<style>
#preview {
width: 300px;
height: 300px;
overflow: hidden;
}
#preview img {
width: 100%;
height: 100%;
}
</style>
<script src="../jquery/jquery-1.8.3.js"></script>
<script type="text/javascript">
function preview1(file) {
var img = new Image(), url = img.src = URL.createObjectURL(file)
var $img = $(img)
img.onload = function() {
URL.revokeObjectURL(url)
$('#preview').empty().append($img)
}
}
function preview2(file) {
var reader = new FileReader()
reader.onload = function(e) {
var $img = $('<img>').attr("src", e.target.result)
$('#preview').empty().append($img)
}
reader.readAsDataURL(file)
}
$(function() {
$('[type=file]').change(function(e) {
var file = e.target.files[0]
preview1(file)
})
})
</script>
</head>
<body>
<form enctype="multipart/form-data" action="" method="post">
<input type="file" name="imageUpload"/>
<div id="preview" style="width: 300px;height:300px;border:1px solid gray;"></div>
</form>
</body>
</html>
这个只是一个demo,不过基本就是这样的;
在网上找了下解决方案,如下所示:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>html5 图片上传预览</title>
<style>
#preview {
width: 300px;
height: 300px;
overflow: hidden;
}
#preview img {
width: 100%;
height: 100%;
}
</style>
<script src="../jquery/jquery-1.8.3.js"></script>
<script type="text/javascript">
function preview1(file) {
var img = new Image(), url = img.src = URL.createObjectURL(file)
var $img = $(img)
img.onload = function() {
URL.revokeObjectURL(url)
$('#preview').empty().append($img)
}
}
function preview2(file) {
var reader = new FileReader()
reader.onload = function(e) {
var $img = $('<img>').attr("src", e.target.result)
$('#preview').empty().append($img)
}
reader.readAsDataURL(file)
}
$(function() {
$('[type=file]').change(function(e) {
var file = e.target.files[0]
preview1(file)
})
})
</script>
</head>
<body>
<form enctype="multipart/form-data" action="" method="post">
<input type="file" name="imageUpload"/>
<div id="preview" style="width: 300px;height:300px;border:1px solid gray;"></div>
</form>
</body>
</html>
这个只是一个demo,不过基本就是这样的;
相关文章推荐
- input type=file 选择图片并且实现预览效果的实例
- javascript实现input file上传图片预览效果
- input type=file 选择图片并且实现预览效果的实例
- javascript实现input file上传图片预览效果
- 简单获取input file 选中的图片,并在一个div的img里面赋值src实现预览图片(可实现多张图片上传和预览移除)
- JS input file图片上传预览效果
- JavaScript使用FileReader实现图片上传预览效果
- 上传图片时,Input file图片预览的实现
- <input type="file"/>实现图片预览
- input file文件上传图片,添加预览效果
- input type=file实现图片上传,预览以及图片删除
- 上传图片预览JS脚本 Input file图片预览的实现示例
- HTML使用FileReader对象的readAsDataURL()方法实现图片的上传预览效果
- input file 实现上传预览图片,以base64上传,兼容IE8+,firefox,chrome
- 上传图片预览JS脚本 Input file图片预览的实现示例
- 上传图片预览JS脚本 Input file图片预览的实现示例
- 简单获取input file 选中的图片,并在一个div的img里面赋值src实现预览图片
- 上传图片预览JS脚本 Input file图片预览的实现示例
- 原生js FileReader对象实现图片上传本地预览效果
- 原生javascript FileReader对象实现图片上传本地预览效果