Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Beginner Web en 21 Agosto 2021, 02:26 am



Título: como subo un pdf a mongo db atlas y como hago un boton en mi web para que la gente lo descargue?
Publicado por: Beginner Web en 21 Agosto 2021, 02:26 am
como subo un pdf a mongo db atlas y como hago un boton en mi web para que la gente lo descargue?

Gracias  ;-)


Título: Re: como subo un pdf a mongo db atlas y como hago un boton en mi web para que la gente lo descargue?
Publicado por: 3n31ch en 22 Agosto 2021, 05:31 am
Te recomiendo subirlo a un servidor FTP o repositorio dedicado a eso y almacenar el PATH/URL en mongoDB. Por lo regular para guardar documentos en bases de datos se pasa a base64 que suele consumir mas espacio de lo que consumiría normalmente.

Fuera de temas de espacios también es mas fácil luego hacer migraciones o tratamiento de archivos si lo haces de esta forma. Lo único malo es que requerirás implementar este "repositorio" con sus debidas reglas de seguridad, ademas de que se pierde la "autonomía" del dato.

PD: Todo lo anterior lo digo en base a mi experiencia, ahora bien, no he leído ningún papper al respecto y no puedo estar seguro de si las cosas han cambiado o existen otras formas mejores.

Suerte!


Título: Re: como subo un pdf a mongo db atlas y como hago un boton en mi web para que la gente lo descargue?
Publicado por: Danielㅤ en 22 Agosto 2021, 16:08 pm
Hola, como dice el compañero podes codificar el archivo PDF en base64 y guardarlo o también podes comprimirlo con ultra compresión y luego a ese archivo comprimido convertirlo en base64.

Alguna vez tuve la idea de crear un método para guardar archivos en por ejemplo bases de datos o en archivos de solo texto usando base64 para lograr ésto y crear un software que haga el trabajo.

La idea es básicamente usar la forma de repetición de caracteres que tiene la codificación cuando codifica un archivo y reemplazar esas letras repetidas por una letra igual que las repetidas y un número al lado de ellas para que el programa pueda saber en cuantas veces va a multiplicar esa letra.

Cuando se convierte un archivo binario ejecutable (.exe) a base64 suelen haber muchas letras repetidas por ejemplo:

Código:
aHHHHHHHR0cHM6Ly9mb3JvLmVsaGGGGGGGGGFja2VyLm5ldC9kZXNNNNNNNNNNNNNNNNNNNNNNNNhcnJvbGxvX3dlYi9jb21vX3N1Ym9fdW5fcGRmX2FfbW9uZ29fZGJJJJJJJJJJJJJJJJJfYXRRRRRRRRRsYXNfeV9jb21vX2hhZZZZZZZZZZZZZZZZZZZZZZZ29fdW5fYm90b25fZWWWWWWWW5fbWlfd2ViX3BhcmFfcXVlX2xhX2dlbnRRRRRRRRRRRRlX2xvX2Rlc2Nhcmd1ZS10NTExNTY5LjAuaHRtbAAAAAAAAAAAAAAAAAAAAA==

La idea básicamente era por ejemplo reemplazar ésto:

Código:
AAAAAAAAAAAAAAAAAAAAA

por esto:

Código:
A_21

Para que después el software pueda saber que debe multiplicar esa letra (en este ejemplo la A) por 21 veces quedando:

Código:
AAAAAAAAAAAAAAAAAAAAA

Tal vez esto no tenga sentido o no funcione o tal vez si pero bueno al menos alguna vez se me ocurrió ese método de compresión de archivos binarios codificados en base64.


Saludos