导语:如何基于JavaScript实现本地图片预览呢?下面是小编给大家提供的实现代码,大家可以参考阅读,更多详情请关注应届毕业生考试网。
<!DOCTYPE html>
<!--
<!DOCTYPE html>一定要放在第一行,除非上面都是空行
在HTML规范中,单独存在的标签是不需要使用/来自我关闭的,比如<br>,<input>,<hr>等等这样的标签都是符合语法的.
在XHTML规范中,单独存在的标签要按照XML的.语法规则进行自我关闭,上面三个标签就应写成<br />,<input />,<hr />
-->
<html>
<head>
<meta charset="utf8">
<style>
input[type=radio] {
/* 按钮与文字对齐 */
vertical-align:middle;
}
input[type=file] {
display: block;
}
#img {
width: 200px;
height: 200px;
border: 1px solid black;
margin-top: 10px;
}
</style>
</head>
<body>
<input type="radio" name="previewType" value="fileReader" onChange="onPreviewTypeChange()">fileReader
<input type="radio" name="previewType" value="createURL" onChange="onPreviewTypeChange()">createURL
<hr>
<input type="file" id="imgFile" onChange="imgChange()" value="test.jpg">
<img id="img">
<script>
var previewTypes = lementsByName("previewType");
var imgFile = lementById("imgFile");
var img = lementById("img");
function getPreviewType() {
for(var i=0; i<th; i++) {
if(previewTypes[i]ked) {
return previewTypes[i]e;
}
}
}
function onPreviewTypeChange() {
imgChange(e);
}
function imgChange(type) {
= "";
var files = s;
(files);
if(!files || th === 0) {
return;
}
var file = files[0];
if(!type) {
type = getPreviewType();
if(!type) {
return;
}
}
switch(type) {
case "fileReader":
var fr = new FileReader();
ad = function(progressEvent) {
(progressEvent);
= lt;
}
AsDataURL(file);
break;
case "createURL":
ad = function() {
//释放一个之前通过调用 teObjectURL() 创建的已经存在的 URL 对象。
keObjectURL();
}
= teObjectURL(file);
break;
}
}
</script>
</body>
</html>