有什么方法可以在Next.JS中查看图像拍摄的日期

问题描述 投票:0回答:1

我正在使用 Next.JS、AWS S3、ImageKit 和 MongoDB 创建一个照片库应用程序。作为一些上下文,我已经制作了一个照片库应用程序,但它依赖于我在 VPS 上托管的外部express.js API,这对于我的用例来说似乎有点不必要且过于复杂。

到目前为止,一切进展顺利,但我遇到了一些障碍。

我使用预签名 URL 将图像上传到 S3,因为通过无服务器功能上传 4K 图像是绝对不行的。但我无法访问与通过 Express 上传时相同的属性。

我可以看到照片的最后修改日期,但这不是很有用,特别是当图像是从网络驱动器复制或从 Google Drive 或 OneDrive 下载时。

有什么方法可以让我访问创建/拍摄文件(在本例中为图像)的日期,而无需像我之前那样使用外部 API?

next.js frontend image-manipulation
1个回答
0
投票

您始终可以使用 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;
}
© www.soinside.com 2019 - 2024. All rights reserved.