Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

HTML DOM Input FileUpload files Property: เข้าถึงไฟล์ที่เลือก

คุณสมบัติ files ของ file upload คืนค่า FileList object ที่มีไฟล์ทั้งหมดที่ผู้ใช้เลือก สำคัญที่สุดสำหรับการจัดการไฟล์ฝั่ง client

รูปแบบ (Syntax)

object.files

ตัวอย่างการใช้งาน

แสดงรายชื่อไฟล์ที่เลือกทั้งหมด:

<!DOCTYPE html>
<html>
<head>
    <style>
        body { text-align: center; background-color: #52B2CF; color: #fff; }
        .btn { background-color: coral; border: none; height: 2rem; border-radius: 50px; width: 60%; margin: 1rem auto; display: block; color: #fff; outline: none; }
        .show { font-size: 1.2rem; color: #fff; font-weight: bold; }
    </style>
</head>
<body>
    <h1>ตัวอย่าง FileUpload files Property</h1>
    <p>เลือกไฟล์หลายไฟล์</p>
    <input type="file" class="file-upload-btn" multiple>
    <button onclick="showFiles()" class="btn">คลิกเพื่อดูไฟล์ที่เลือก</button>
    <div class="show"></div>
    <script>
        function showFiles() {
            var fileBtn = document.querySelector(".file-upload-btn");
            var showMsg = document.querySelector(".show");
            showMsg.innerHTML = '';
            if (fileBtn.files.length === 0) {
                showMsg.innerHTML = "กรุณาเลือกไฟล์อย่างน้อย 1 ไฟล์!!";
            } else {
                showMsg.innerHTML = "คุณเลือกไฟล์เหล่านี้:";
                for (var i = 0; i < fileBtn.files.length; i++) {
                    showMsg.innerHTML += '

' + fileBtn.files[i].name + '

'; } } } </script> </body> </html>

FileList และ File Object

files คืนค่า FileList (คล้ายอาร์เรย์) แต่ละรายการคือ File object ที่มีคุณสมบัติ:

คุณสมบัติคำอธิบาย
nameชื่อไฟล์
sizeขนาดไฟล์ (bytes)
typeMIME type (เช่น image/jpeg)
lastModifiedเวลาที่ปรับเปลี่ยนล่าสุด (timestamp)

การอ่านไฟล์ด้วย FileReader

var file = fileInput.files[0];
var reader = new FileReader();
reader.onload = function(e) {
    var dataURL = e.target.result; // base64 data URL
    // ใช้แสดงรูปภาพ preview หรืออัปโหลดผ่าน AJAX
};
reader.readAsDataURL(file);