原本想說應該是做不到,畢竟Submit出去後就變成資料流的概念,應該沒辦法得知原本在Client端的狀態,想不到最後找到可以在上傳前利用JavaScript來抓取檔案修改日期的方法。
方法如下:
HTML部分 放上一個檔案上傳和用來顯示結果的div
<input type="file" id="UpFile">
<div id="Show"></div>
JavaScript部分
<script type="text/JavaScript">
//在上傳檔案input變化時加入事件
document.getElementById("UpFile").onchange = function(){
//清空顯示欄位
document.getElementById("Show").innerHTML= "";
//取得上傳的檔案陣列
let FileArray = document.getElementById("UpFile").files;
for(let i=0; i<FileArray.length; i++)
{
//lastModified:最後修改日期 自1970年1月1日0:00以來的毫秒數
//new Date物件將毫秒轉成日期
let Dy =new Date(FileArray[i].lastModified);
//顯示在div上並將日期轉成 YYYY/MM/DD hh:mm
document.getElementById("Show").innerHTML += '檔案最後修改時間:' +Dy.getFullYear().toString() + "/" + (Dy.getMonth()+1).toString().padStart(2,'0') + "/" + Dy.getDate().toString().padStart(2,'0') + " " + Dy.getHours().toString().padStart(2,'0') + ':' + Dy.getUTCMinutes().toString().padStart(2,'0') + "<br />";
}
}
</script>
完成後成品會如下
沒有留言:
張貼留言