我有一個用戶可以上傳文件的表單。我需要程序來檢查文件是否是 PRN,如果是,它是否在文件名中包含正確的案卷編號和日期。問題是用戶可以一次上傳多個文件。我已經編寫了一個 JavaScript 函數來在用戶繼續之前檢查文件名,但是如何在 JavaScript 中處理多個文件?我已經編寫了檢查文件名的函數,但是不知道如何從這里開始處理多個文件。我對 JavaScript 相當陌生。function checkFilenames(val) { let filepath = val.value; let n = filepath.lastIndexOf('\\'); let filename = filepath.substring(n + 1); let d; if (filename.contains('.prn') || filename.contains('.PRN')) { let docketnum = <?php echo $job['docketno']; ?>; d = new Date(<?php echo $job['hearing']; ?>*1000).toString(); let test = d.split(' '); let month = test[1]; let monthsArray = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; let numMonth; for (let i = 0; i < 12; i++) { if (monthsArray[i] == month) { numMonth = (i + 1).toString(); if (numMonth.length < 2) { numMonth = '0' + numMonth; } } } let day = test[2].toString(); if (day.length < 2) { day = '0' + day; } let year = test[3]; let dateToCheck = numMonth + '-' + day + '-' + year; if (!(filename.contains(dateToCheck) && filename.contains(docketnum))) { alert('Please check the file'); } } }當我使用 alert 或 console.log 檢查文件名時,它只顯示第一個文件。有沒有解決的辦法?調用PHP函數會更好嗎?
1 回答

慕俠2389804
TA貢獻1719條經驗 獲得超6個贊
我認為你最好在這里使用 DOM File API。它允許您訪問用戶當前在<input type="file">
字段中選擇的文件。
該files
字段的屬性是一個 FileList,您可以像數組一樣循環。File
此列表中的各個對象提供對文件名稱、大小和類型的直接訪問。(使用 FileReader 也可以讀取實際的文件內容,但這超出了您在此處需要的范圍。)
有關如何使用它的更多信息,例如 MDN,https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications
- 1 回答
- 0 關注
- 159 瀏覽
添加回答
舉報
0/150
提交
取消