有没有办法在Next.JS中查看图像拍摄的日期

yi0zb3m4  于 2023-08-04  发布在  其他
关注(0)|答案(1)|浏览(115)

我正在使用Next.JS,AWS S3,ImageKit和MongoDB创建一个照片库应用程序。对于一点上下文,我已经制作了一个照片库应用程序,但它依赖于我在VPS上托管的外部express.js API,这对于我的用例来说似乎有点不必要和过于复杂。
到目前为止,一切都很顺利,但我遇到了一点障碍。
我使用预签名的URL将图像上传到S3,因为通过无服务器功能上传4K图像是绝对不可能的。但是我无法访问通过express上传时可以访问的相同属性。
我可以看到照片上次修改的日期,但这不是很有用,特别是当图像已从网络驱动器复制或从Google Drive或OneDrive下载时。
有没有什么方法可以让我访问一个文件(在这种情况下是一个图像)的创建/拍摄日期,而不像我之前那样使用外部API?

bjp0bcyl

bjp0bcyl1#

您可以始终使用NodeJS Filsystem API(fs)中的stat函数,请注意,stats对象中还有一个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;
}

字符串

相关问题