要在上传到网站之前获取文件大小、图像宽度和高度,请使用文件 API由 HTML5 和 JavaScript 提供。
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>
以上是如何使用 JavaScript 在上传之前获取文件大小和图像尺寸?的详细内容。更多信息请关注PHP中文网其他相关文章!