了解什麼是File物件以及如何使用它
瀏覽器提供了一個File
物件。
文件物件是一個Blob物件,它提供了3個額外的屬性:
name
(一個字串)lastModified
(最後修改的UNIX時間戳記)
加上了Blob物件的屬性:
size
(文件大小(以位元組為單位))type
(文件的MIME類型)
當你與FileList
物件進行交互時,你將會收到一個File
物件。可以通過HTML表單的<input type="file" />
元素獲取FileList
物件,或者通過**拖放(Drag and Drop)**進行交互。
當你獲取了一個FileList
物件後,你可以遍歷它,或者選擇其中的元素(例如使用myFileList[0]
獲取第一個項目),這樣你就可以獲取到一個File
物件。
假設你的表單中有一個input type="file"
元素:
<input type="file" />
現在,你可以監聽這個元素的change
事件,這樣當你選擇一個文件時,就可以獲取有關它的信息。document.querySelector('input').files
將返回一個FileList
物件,就像之前解釋的一樣,使用[0]
可以獲取到第一個已加載的文件,然後我們可以從File
物件中獲取所有需要的屬性:
document.querySelector('input').addEventListener('change', () => {
const file = document.querySelector('input').files[0]
alert(`文件${file.name}最後修改時間為${new Date(file.lastModified).toDateString()}`)
})
參見File物件範例,Flavio Copes的示例。