Edw*_*ted 143 html file-upload
可能重复:
在上传图像之前预览图像
我有一个允许我的表格
<input type="file" name="filename" accept="image/gif, image/jpeg, image/png">
Run Code Online (Sandbox Code Playgroud)
浏览并选择一个文件.
我想要做的是在选择图像后立即显示该图像.这是在表单上的"提交"按钮被按下之前,因此图像几乎肯定存在于客户端.可以这样做吗?
ygs*_*oni 277
干得好:
HTML
<!DOCTYPE html>
<html>
<head>
<link class="jsbin" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
</style>
</head>
<body>
<input type='file' onchange="readURL(this);" />
<img id="blah" src="#" alt="your image" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
脚本:
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah')
.attr('src', e.target.result)
.width(150)
.height(200);
};
reader.readAsDataURL(input.files[0]);
}
}
Run Code Online (Sandbox Code Playgroud)
Xav*_*ier 28
您可以使用以下代码实现此目的:
$("input").change(function(e) {
for (var i = 0; i < e.originalEvent.srcElement.files.length; i++) {
var file = e.originalEvent.srcElement.files[i];
var img = document.createElement("img");
var reader = new FileReader();
reader.onloadend = function() {
img.src = reader.result;
}
reader.readAsDataURL(file);
$("input").after(img);
}
});
Run Code Online (Sandbox Code Playgroud)
演示:http: //jsfiddle.net/ugPDx/
归档时间: |
|
查看次数: |
453224 次 |
最近记录: |