我正在使用 Next.JS、AWS S3、ImageKit 和 MongoDB 创建一个照片库应用程序。作为一些上下文,我已经制作了一个照片库应用程序,但它依赖于我在 VPS 上托管的外部express.js API,这对于我的用例来说似乎有点不必要且过于复杂。
到目前为止,一切进展顺利,但我遇到了一些障碍。
我使用预签名 URL 将图像上传到 S3,因为通过无服务器功能上传 4K 图像是绝对不行的。但我无法访问与通过 Express 上传时相同的属性。
我可以看到照片的最后修改日期,但这不是很有用,特别是当图像是从网络驱动器复制或从 Google Drive 或 OneDrive 下载时。
有什么方法可以让我访问创建/拍摄文件(在本例中为图像)的日期,而无需像我之前那样使用外部 API?
您始终可以使用 NodeJS Filsystem API (fs) 中的
stat
函数,请注意,统计对象中还有一个 birthtimeMs
属性,用于保存文件的创建日期(以毫秒为单位):
import fs from "fs/promises";
export async function getCreatedAt(file: string): Promise<Date> {
const { birthtime } = await fs.stat(file);
return birthtime;
}
// or if you want the milliseconds
export async function getCreatedAtMs(file: string): Promise<number> {
const { birthtimeMs } = await fs.stat(file);
return birthtimeMs;
}