‫Narrador: Ahora que se completó la función
‫de carga de fotos de usuario, aprendamos cómo cargar varios archivos
‫al mismo tiempo y
‫también cómo procesar varias imágenes al mismo tiempo.
‫Entonces, en esta conferencia y en
‫la siguiente, estaremos cargando y procesando imágenes de la gira.
‫Y para comenzar, recordemos qué tipo de imágenes queremos
‫para nuestros recorridos y también cuántas, por lo que deberíamos echar un
‫vistazo a nuestro modelo de recorrido aquí.
‫Y aquí tenemos la portada de la imagen y esa es en realidad
‫solo una imagen y
‫luego también tenemos el campo de
‫imagen que va a ser una matriz de imágenes.
‫Y, por lo general, estas deberían ser al menos tres imágenes
‫porque esa es la cantidad de imágenes que tenemos en
‫la página de detalles del recorrido.
‫¿Correcto?
‫Así que de nuevo, vamos a tener la
‫cubierta de la imagen y las imágenes como una matriz.
‫Está bien.
‫Ahora, la forma en
‫que vamos a cargar y procesar estas imágenes
‫será muy similar a lo
‫que hicimos con los usuarios, así que vayamos al
‫controlador de usuario y copiemos al menos esta parte inicial
‫aquí de la configuración del multer.
‫Muy bien, así que agarre eso y
‫luego en el controlador de recorrido, justo aquí
‫en la parte superior, pongámoslo
‫aquí y también obtengamos el requerimiento multer y agudo.
‫Está bien, genial.
‫Y así, al igual que
‫antes, almacenaremos las imágenes en la memoria, de
‫acuerdo, y también solo permitimos que las imágenes pasen nuestro filtro.
‫En otras palabras, solo queremos poder subir imágenes.
‫Está bien.
‫Luego, aquí creamos o cargamos exactamente
‫de la misma manera que antes, por
‫lo que
‫ahora creemos el middleware a partir de esta carga.
‫Está bien.
‫Por lo tanto, exporte el recorrido de carga de puntos, las imágenes y luego cárguelas.
‫Y ahora viene la
‫parte diferente, así que algo que va
‫a ser diferente a lo que hicimos
‫aquí en el controlador de usuarios porque habíamos subido el punto único.
‫Bueno.
‫Y eso fue porque solo teníamos un campo
‫con un archivo que queríamos
‫cargar y aquí está el nombre de ese campo.
‫¿Correcto?
‫Pero ahora tenemos varios archivos y en
‫uno de ellos tenemos una imagen
‫y en el otro tenemos tres imágenes.
‫Entonces, ¿cómo podemos hacer eso?
‫Bueno, vamos a usar campos de puntos de carga, por lo
‫que multer es perfectamente capaz de
‫manejar este tipo de situaciones.
‫Entonces aquí pasamos una matriz y cada
‫uno de los elementos es un objeto donde luego
‫especificamos el nombre del campo.
‫Y entonces el primero,
‫recuerde, es la cobertura de la imagen, y luego decimos que el conteo máximo es uno.
‫Y eso significa que
‫solo podemos tener un campo llamado
‫cobertura de imagen, que luego se procesará.
‫Muy bien, y luego hagamos lo mismo con nuestras imágenes, entonces ese
‫es el otro campo en nuestra base
‫de datos y aquí lo llamamos
‫imágenes también y aquí digamos que el conteo máximo es tres.
‫Está bien.
‫Y en caso de que no tuviéramos la
‫portada de la imagen y solo tuviera un campo que acepta múltiples
‫imágenes o múltiples archivos al mismo tiempo,
‫podríamos haberlo hecho así.
‫Entonces, usaríamos la matriz de puntos de carga, ¿de acuerdo?
‫Y luego el nombre
‫del campo, y luego básicamente el recuento máximo aquí como un número como este.
‫¿Está bien?
‫Entonces, cuando solo hay uno, entonces es un punto de carga único, digamos una imagen,
‫cuando hay varios con el mismo nombre, luego es una matriz de
‫puntos de carga y cuando hay básicamente una combinación de
‫ellos, entonces son campos de puntos de carga.
‫¿Okey?
‫Ahora, tal vez esto parezca un
‫poco complicado ahora, así que antes de continuar,
‫reproduzcamos este tipo de consulta en Postman, ¿de acuerdo?
‫Y, de hecho, antes de hacer eso,
‫necesitamos crear una nueva gira.
‫Muy bien, y de hecho lo
‫haré aquí en brújula simplemente duplicando uno de los
‫recorridos que ya tenemos.
‫Así que digamos aquí, el Sea Explorer,
‫y ahora lo estoy duplicando.
‫Y aquí puedo cambiar lo que quiero que sea diferente y
‫este se llama The Mountain Biker, digamos duración
‫de cinco, tamaño máximo de grupo de diez, y luego lo que realmente importa
‫es deshacerme de la portada de la imagen
‫porque eso es lo que queremos desea actualizar más tarde y también la
‫matriz de imágenes.
‫Creado en también puede ir y, por supuesto, tenemos
‫que cambiar la babosa, por lo que el ciclista de montaña.
‫¿Okey?
‫Y, por cierto, necesitábamos
‫crear un nuevo recorrido como este para que realmente tengamos las
‫ubicaciones, el resumen y la descripción, y todo
‫eso, para que el turista pueda representar correctamente en nuestro sitio web.
‫Muy bien, insertémoslo y debería estar
‫en algún lugar aquí al final, de acuerdo.
‫Así que tomemos la identificación aquí y ahora aquí
‫en Postman, luego actualice el recorrido.
‫Así que pasamos eso aquí y ahora en nuestro
‫cuerpo, recordemos que necesitamos cambiar de datos brutos a datos de forma.
‫¿Okey?
‫Cerremos todos estos aquí y también inicie sesión aquí como administrador
‫porque, de lo contrario, la actualización del
‫recorrido no funcionará.
‫Entonces admin @ nators. io, está bien.
‫Y ahora vamos a recrear una solicitud de cuerpo aquí similar
‫a la que acabamos de especificar aquí.
‫Básicamente similar a lo que espera nuestra carga de multer, por lo
‫que una imagen de portada y tres imágenes.
‫Entonces, la portada de la imagen, que es un archivo, así que seleccionemos eso.
‫Y aquí tenemos estas nuevas fotos para
‫recorridos y, de hecho, usemos esta
‫primera aquí como imagen de portada y luego como
‫imágenes, pongamos eso aquí para archivar también, y luego
‫aquí las otras tres.
‫Y ahora, como ves, todos ellos se llamarán imágenes.
‫De acuerdo, y solo podemos tener un máximo de tres,
‫al menos solo tres de
‫ellos serán procesados por multer, ¿de acuerdo?
‫Y de hecho aquí ves que realmente necesitamos
‫cambiar el tamaño de este porque en nuestro sitio
‫web todos aparecen en este formato horizontal y
‫no vertical como lo tenemos aquí.
‫¿Está bien?
‫Y por eso,
‫por supuesto, es necesario procesar también estas imágenes, ¿de acuerdo?
‫Y, por supuesto, también podemos cambiar otras
‫cosas aquí, así que digamos que queremos cambiar el precio a 9-9-7, ¿de acuerdo?
‫Ahora, no voy a enviar esta solicitud todavía porque no
‫tenemos ninguna lógica implementada para manejarla en
‫este momento, ¿verdad? Porque realmente no
‫la estamos subiendo al
‫sistema de archivos, solo la guardamos en la memoria. .
‫Entonces, para echarles un vistazo
‫rápidamente, creemos nuestro próximo middleware aquí,
‫que será el que procese estas imágenes.
‫Por lo tanto, exporte las imágenes de la gira de redimensionamiento de puntos,
‫solicite, responda y siguiente, y ahora déjelas aquí registrarlas en la consola.
‫Muy bien, y en caso de que tengamos varios archivos,
‫en realidad se trata de archivos de puntos de solicitud, y no solo de archivos.
‫¿Está bien?
‫Entonces, esto aquí básicamente producirá un
‫archivo de puntos de solicitud, mientras que los campos y
‫la matriz producirán archivos de puntos de solicitud, por lo que el plural.
‫Muy bien, entonces registre esto en
‫la consola y luego llamemos al siguiente aquí
‫para que podamos
‫terminar más tarde el ciclo de solicitud-respuesta, de acuerdo.
‫Guárdelo y ahora todo
‫lo que tenemos que hacer para probar la solicitud
‫es agregar estos dos nuevos middlewares al controlador de ruta.
‫Muy bien, recorridos recorridos y, al igual que con los usuarios,
‫para simplificarlo, solo permitiremos subir imágenes
‫en una actualización del recorrido.
‫Así que aquí es donde tenemos esa solicitud de parche, de acuerdo, y ya
‫tenemos un montón de middlewares, así que
‫proteja, restrinja a los administradores y guías, y ahora también
‫agreguemos las imágenes del recorrido de carga de puntos del controlador de recorrido y
‫el recorrido de cambio de tamaño de punto del controlador de recorrido imágenes.
‫Así que aquí hay una buena pila de middleware, ¿de acuerdo?
‫Y creo que ahora estamos listos
‫para probar la solicitud que creamos aquí.
‫Y nuevamente, por supuesto, no va a hacer nada,
‫no va a guardar estas imágenes en ningún lado
‫y tampoco actualizar la base de
‫datos, pero por ahora solo queremos ver el resultado en la consola.
‫Bueno, debería haber actualizado el precio, así que
‫echemos un vistazo rápido a eso.
‫Sí, el precio ahora se actualizó,
‫pero nuevamente las imágenes obviamente no, ¿de acuerdo?
‫Y ahora aquí los tenemos en la consola, así que
‫hagámoslo un poco más grande y aquí tenemos
‫la portada de la imagen donde obtuvimos el nombre del
‫campo, el nombre original y también el tipo MIME,
‫está bien, entonces ves el búfer aquí. , por lo que
‫esta es básicamente una representación de la
‫imagen en la memoria.
‫Ahora es importante tener en
‫cuenta que, en realidad, incluso la portada de la imagen es una matriz, ¿de acuerdo?
‫Entonces, cuando recuperemos
‫la imagen de la portada de la imagen,
‫tendremos que usar el primer elemento de esta matriz.
‫Y luego, en las imágenes, aquí es obvio
‫que tenemos una matriz y aquí
‫para cada una de las imágenes tenemos un objeto como este.
‫Entonces, con el nombre original, gira cuatro, tres y dos, y luego cada uno
‫de ellos como un búfer.
‫De acuerdo, todo está muy bien conectado y todo lo que tenemos que
‫hacer ahora es básicamente crear estas imágenes de recorrido de cambio de
‫tamaño, porque aquí es donde las imágenes
‫se procesarán y también se
‫guardarán en el disco.
‫De acuerdo, ese es el tema de la próxima conferencia.