首頁 >web前端 >js教程 >如何使用 JavaScript 在上傳之前獲取檔案大小和圖像尺寸?

如何使用 JavaScript 在上傳之前獲取檔案大小和圖像尺寸?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-25 12:39:10830瀏覽

How to Get File Size and Image Dimensions Before Upload with JavaScript?

使用jQuery 或JavaScript 上傳之前的檔案大小和圖片尺寸

要在上傳到網站之前獲取檔案大小、圖片寬度和高度,請使用檔案API由HTML5 和JavaScript 提供。

利用 URL 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>

以上是如何使用 JavaScript 在上傳之前獲取檔案大小和圖像尺寸?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn