【JavaScript】上传图片前查看缩略图
2022/03/08 22:50:04
思路
选择上传文件后可以获取到上传文件的 file 对象,读取 file 后转化为 blob 链接进行展示。
要点
File 接口基于 Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。
将 file 转化为 blob 链接有两种方式:
URL.createObjectURL()
img.src = URL.createObjectURL(file); document.body.appendChild(img);
FileReader()
var reader = new FileReader(); reader.onload = (function (aImg) { return function (e) { aImg.src = e.target.result; document.body.appendChild(aImg); }; })(img); reader.readAsDataURL(file);
实现代码
<input type="file" id="fileInput" />
fileInput.addEventListener("change", (e) => {
handleFiles(onlyFile.files[0]);
});
function handleFiles(file) {
var imageType = /^image\//;
if (!imageType.test(file.type)) {
return;
}
var img = document.createElement("img");
img.src = URL.createObjectURL(file);
document.body.appendChild(img);
// var reader = new FileReader();
// reader.onload = (function (aImg) {
// return function (e) {
// aImg.src = e.target.result;
// document.body.appendChild(aImg);
// };
// })(img);
// reader.readAsDataURL(file);
}