Creé una API con express para enviar un formulario de usuario con una imagen con multer. Ahora quiero hacer que la URL de la imagen sea temporal durante un cierto período de tiempo para que ningún usuario pueda ver la imagen después de ese tiempo en particular y una URL se fija solo para un usuario, pero si quiere volver a verla, tiene que solicitar una nueva URL.
https://localhost:3000/api/image?=sometempURL1para otro usuario, la misma imagen debe tener otra URL única como
https://localhost:3000/api/image?=sometempURL2orSomethingsimplemente no quiero revelar la ruta/nombre real del archivo
Una forma de hacer esto es usar rutas con parámetros: /path/:id
La id sería la ruta al archivo con hash usando un método hash.
Tendría 2 ubicaciones para los archivos, una temporal y otra permanente. Cuando obtiene un archivo, lo almacena en ambas ubicaciones. Puede guardar la ubicación en la permanente. Para su ruta temporal, puede volver a utilizar la ruta hash del archivo en la ubicación temporal.
Ahora, ¿cómo es esta ubicación temporal? Puede usar Cronjob para programar su eliminación.
Así que proporciona al usuario /path/to/file.jpg con este formato: b017bcade5394d0076ad808e94482576 y la ruta se vería así: /file/b017bcade5394d0076ad808e94482576 y puede obtener el archivo usando este valor hash, pero en algún momento (dependiendo de la hora configuró en cronjob), el archivo se eliminará de la ubicación temporal, por lo que el enlace dejará de ser válido