栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript上传前获取文件大小,图像宽度和高度

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript上传前获取文件大小,图像宽度和高度

带有信息数据预览的多张图像上传

使用 HTML5和File API

图片来源将是代表Blob对象的URL

<img src="blob:null/026cceb9-edr4-4281-babb-b56cbf759a3d">

const EL_browse  = document.getElementById('browse');const EL_preview = document.getElementById('preview');const readImage  = file => {  if ( !(/^image/(png|jpe?g|gif)$/).test(file.type) )    return EL_preview.insertAdjacentHTML('beforeend', `Unsupported format ${file.type}: ${file.name}<br>`);  const img = new Image();  img.addEventListener('load', () => {    EL_preview.appendChild(img);    EL_preview.insertAdjacentHTML('beforeend', `<div>${file.name} ${img.width}×${img.height} ${file.type} ${Math.round(file.size/1024)}KB<div>`);    window.URL.revokeObjectURL(img.src); // Free some memory  });  img.src = window.URL.createObjectURL(file);}EL_browse.addEventListener('change', ev => {  EL_preview.innerHTML = ''; // Remove old images and data  const files = ev.target.files;  if (!files || !files[0]) return alert('File upload not supported');  [...files].forEach( readImage );});#preview img { max-height: 100px; }<input id="browse" type="file" multiple><div id="preview"></div>

使用FileReader API的

如果您需要图像源作为长base64编码的数据字符串

<img >

const EL_browse  = document.getElementById('browse');const EL_preview = document.getElementById('preview');const readImage = file => {  if ( !(/^image/(png|jpe?g|gif)$/).test(file.type) )    return EL_preview.insertAdjacentHTML('beforeend', `<div>Unsupported format ${file.type}: ${file.name}</div>`);  const reader = new FileReader();  reader.addEventListener('load', () => {    const img  = new Image();    img.addEventListener('load', () => {      EL_preview.appendChild(img);      EL_preview.insertAdjacentHTML('beforeend', `<div>${file.name} ${img.width}×${img.height} ${file.type} ${Math.round(file.size/1024)}KB</div>`);    });    img.src = reader.result;  });  reader.readAsDataURL(file);};EL_browse.addEventListener('change', ev => {  EL_preview.innerHTML = ''; // Clear Preview  const files = ev.target.files;  if (!files || !files[0]) return alert('File upload not supported');  [...files].forEach( readImage );});#preview img { max-height: 100px; }<input id="browse" type="file"  multiple><div id="preview"></div>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/456705.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号