前一陣子利用 NFS 來將使用者上傳上來的檔案儲存在伺服器端的檔案目錄中,但是當使用者想要檢視當前已經上傳上來的檔案並且查看檔案建立的時間時,卻發現無法取得檔案建立時間。雖然可以在設計上稍做調整,例如當檔案上傳上來時,將當前時間紀錄並儲存起來,待後續檢視使用。不過這樣的方法雖然可行,但是缺點就是需要額外成本來維護所儲存的檔案建立時間。因此本篇筆者就希望利用 Linux 檔案系統所儲存的建立時間來提供檢視檔案使用。
在 Golang 裡面使用 os.Stat(<file-path>).Sys().(*syscall.Stat_t)
方法可以發現結果如下:
&{Dev:64768 Ino:2883742 Nlink:1 Mode:33188 Uid:0 Gid:0 X__pad0:0 Rdev:0 Size:1022 Blksize:4096 Blocks:8 Atim:{Sec:1614580284 Nsec:716859675} Mtim:{Sec:1614580275 Nsec:628859301} Ctim:{Sec:1614580275 Nsec:628859301} X__unused:[0 0 0]}