DataTransfer: thuộc tính files

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Thuộc tính files chỉ đọc của đối tượng DataTransferdanh sách các tệp trong thao tác kéo. Nếu thao tác không bao gồm tệp nào, danh sách sẽ rỗng.

Tính năng này có thể được sử dụng để kéo tệp từ màn hình nền của người dùng vào trình duyệt.

Note: Thuộc tính files của đối tượng DataTransfer chỉ có thể được truy cập từ bên trong các sự kiện droppaste. Đối với tất cả các sự kiện khác, thuộc tính files sẽ rỗng, vì kho dữ liệu bên dưới sẽ ở chế độ được bảo vệ.

Giá trị

Một FileList các tệp trong thao tác kéo, một mục danh sách cho mỗi tệp trong thao tác. Nếu thao tác kéo không có tệp nào, danh sách rỗng.

Ví dụ

Đọc danh sách tệp

Ví dụ này tạo một khu vực cơ bản mà bạn có thể thả tệp vào và hiển thị một số siêu dữ liệu.

html
<pre id="output">Drop files here from your file system.</pre>
css
#output {
  min-height: 200px;
  border: 1px solid black;
  padding: 1em;
}
js
const output = document.getElementById("output");

function log(text) {
  output.innerText += text;
}

output.addEventListener("dragenter", (e) => {
  e.stopPropagation();
  e.preventDefault();
  output.textContent = "";
});
output.addEventListener("dragover", (e) => {
  e.stopPropagation();
  e.preventDefault();
});
output.addEventListener("drop", (e) => {
  e.stopPropagation();
  e.preventDefault();
  const files = event.dataTransfer.files;
  log(`File Count: ${files.length}\n`);

  for (const file of files) {
    log(`  File: ${file}, ${file.name}, ${file.size} bytes\n`);
  }
});

Thông số kỹ thuật

Thông số kỹ thuật
HTML
# dom-datatransfer-files-dev

Tương thích trình duyệt