<html>
<head>
<meta charset="UTF-8">
<title>FileReader图片预览</title>
<script src="https://cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>
</head>
<body>
<!--支持图片预览-->
<form id="example">
username: <input type="text" name="username"/><br/>
password: <input type="password" name="password"/><br/>
file: <input type="file" id="files" multiple/><br/>
<input type="submit" value="提交"/>
</form>
<div id='file-list-display'></div>
<div id="uploadPreview"></div>
<script type="text/javascript">
"user strict";
$(function () {
if (typeof FileReader === 'undefined') {
alert('抱歉,你的浏览器不支持 FileReader');
}
// 低版本浏览器不会识别let语法
let fileList = [];
const fileCatcher = $('#example');
const files = $("#files");
const fileListDisplay = $('#file-list-display');
// 图片预览
const uploadPreview = $('#uploadPreview');
fileCatcher.on("submit", function (event) {
event.preventDefault();
//上传文件
let formData = new FormData(fileCatcher[0]);
//循环添加到formData中
fileList.forEach(function (file) {
if (validateType(file)) {
formData.append('files', file, file.name);
}
})
const request = new XMLHttpRequest();
request.open("POST", "upload");
request.send(formData);
});
files.on("change", function (event) {
for (var i = 0; i < files[0].files.length; i++) {
fileList.push(files[0].files[i]);
}
let content = ''
let imgPreview = ''
fileList.forEach(function (file, index) {
if (validateType(file)) {
content += '<p>' + (index + 1) + ":" + file.name + '</p>';
const fileReader = new FileReader();
fileReader.readAsDataURL(file)
fileReader.onload = function (e) {
const imgFile = e.target.result
imgPreview += '<img src="' + imgFile + '" title="' + file.name + '" width="400px"/>'
// console.log(imgPreview)
uploadPreview.empty()
uploadPreview.append(imgPreview)
}
}
})
fileListDisplay.html(content)
});
})
// 校验文件类型
function validateType(file) {
if (!/image\/\w+/.test(file.type)) {
alert("只能选择图片");
return false;
}
return true;
}
</script>
</body>
</html>
FileReader图片预览
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 业务有个需求,要做图片预览上传,过去都是客户端上传给后端,后端返回url前端进行预览,现在其实可以不依赖后端做预览...
- 前言 初做全景项目,涉及到了360度全景展示(也可以是720度的旋转),查找了很多资料,很多都是用Panorama...