IIC2513-2021-1 / projects

Repositorio oficial para los proyectos de ambas secciones del periodo 2021-1 del curso PUC IIC2513
14 stars 6 forks source link

Upload files #111

Open Baelfire18 opened 3 years ago

Baelfire18 commented 3 years ago

Hola, para subir un archivo, desde postman que le debo pasar del archivo en sí? Una ruta absoluta del archivo? relativa? debe estar en el mismo directorio de algo? o como? Muchas gracias

lfuenzalida2 commented 3 years ago

Holaa

Con que fin quieres entregarle el archivo al backend?? Si es para subir una imagen, entonces no debes entregar la imagen, lo que debes hacer es pedirle al backend que te generé una key para poder subir la imagen desde el frontend al bucket (esto se hace porque se disminuye la carga de computo para el backend, si es que le entregases la imagen, entonces la request sería muy pesada y se podría encontrar una vulnerabilidad en tu arquitectura)

sivicencio commented 3 years ago

Hola @Baelfire18. Desde Postman puedes seleccionar en el body de un request la opción "form-data", y agregar un parámetro de tipo "File" (en la columna "key" a la derecha puedes seleccionar este tipo). Ahí verás que en la columna "value" aparecerá un botón que dice "Select Files", y simplemente seleccionas el archivo como si estuvieras en un form html. De todas formas, esto aparece en la cápsula de upload de archivos.

Adjunto imagen para ilustrar el caso:

Screen Shot 2021-06-20 at 15 02 54

Baelfire18 commented 3 years ago

Hola! Ahora tengo la misma duda, pero en como pasarle imagenes desde el front de react. Lo que tengo actualmente stringifyca los valores image pero no creo sea algo similar con las fotos, sino que algo que envie archivos o algo similar. Tal vez como dice Lucas es buena idea procesarlo acá y dejarle menos trabajo al back, ¿pero eso implica subirlo a cloudinary desde acá?. Muchas gracias de ante mano!

sivicencio commented 3 years ago

Hola @Baelfire18. Precisamente lo que tienes en frontend sirve para subir datos en formato JSON, y un archivo no se suele subir en ese formato. Te dejo este link que obtuve con una búsqueda simple en Google. Me parece que cubre lo que necesitas.

Sobre la estrategia planteada por Lukas, sería interesante para bajarle la carga al backend obtener una key y que el uploading se haga desde el frontend. No me parece que en este caso sea algo 100% necesario, pero si te acomoda más, puedes usar esa estrategia. En ese caso tendrías que subirlo a algún proveedor como Cloudinary directamente desde el frontend, tal como mencionas.

Baelfire18 commented 3 years ago

Como veo el tema de que son 2 bodys? Uno con el file en sí y otro con la info serializada? Tambien creo que porque la info se pasa con el formik los valores se obtienen de una forma distinta

sivicencio commented 3 years ago

Sobre la última pregunta que haces, darte una respuesta ya sería entregarte la solución. Te sugiero buscar el mismo problema que estás teniendo si necesitas referencias que te ayuden a ver con claridad cómo solucionarlo.