0

I'm creating a photo gallery application using Next.JS, AWS S3, ImageKit and MongoDB. For a bit of context, I already had a photo-gallery app made, but it relied on an external express.js API that I was hosting on a VPS, which seemed a bit unnecessary and overcomplicated for my use-case.

So far, it is going really well, but I've hit a bit of a roadblock.

I am using presigned URLs to upload the images to S3, as uploading 4K images through serverless functions is an absolute no-go. But I cannot access the same properties that I could when I was uploading through express.

I can see the date on which a photo was last modified, but that is not very useful, especially when an image has been copied from a network drive or downloaded from Google Drive or OneDrive.

Is there any way that I could access the date on which a file (in this case an image) was created/taken without the use of an external API as I was doing beforehand?

1 Answer 1

1

You can always use the stat function that is found in the NodeJS Filsystem API (fs), note that there’s also a birthtimeMs property in the stats object holding the file’s created date in milliseconds:

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;
}
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.