Manipulando Archivos con Node JS 10

4 minuto(s)

Con Node JS podemos manipular archivos de manera sencilla, ya sea subir, editar, eliminar, crear, etc. un archivo en el servidor, por otro lado tambien puedes manipular las rutas de los archivos, copiar archivos, obtener una respuesta cuando realices una determinada acción con un archivo en tu servidor, en este artículo te explicaremos las maneras de trabajar con archivos en Node JS.

Introducción

Node JS nos proporciona un módulo para trabajar e interactuar con el sistema de archivos bajo las funciones estandar POSIX, para usar el podemos declarar la siguiente línea de código


En su mayoría las operaciones del sistema de archivos trabajan de manera síncrona y asíncrona.

Cuando el sistema trabaja de forma asíncrona coje la respuesta de finalización de un proceso como último argumento y este o varios argumentos varían según el método o proceso que hayas aplicado, pero siempre el primer argumento va estar reservado para una excepción.

Si dicha operación al trabajar con un archivo se completa con éxito, entonces el primer argumento reservado para una excepción sera decretado como NULL o undefined, podemos ver lo explicado en el siguiente código para eliminar un archivo


Para los excepciones que se producen al gestionar archivos de manera síncrona se imprimen inmediatamente y se pueden manipular con try{} y catch() o puedes imprimirlas sin manipularse con try{} y catch() veamos el ejemplo a continuación


Nota: Con la función fs.unlink puedes borrar un archivo del servidor y con unlinkSync lo mismo pero de manera síncrona.

Si trabajas con archivos de manera asíncrona puede que una petición no se realice correctamente y puede que otra acción se ejecute antes de la primera acción que debía realizarse, por ejemplo cambiaremos el nombre de un archivo con la función fs.rename() y luego le pasamos la función fs.stat() para saber el estado del archivo que estamos intentando cambiarle el nombre y si no realiza el cambio de nombre se pasará a ejecutar la segunda función con fs.stat()


Puedes ordenar las operaciones colocando la función fs.stat() en la respuesta que se obtiene luego de ejecutar la función fs.rename() y mostrar el estado del archivo en formato JSON

Rutas de Archivos

Node JS nos permite trabajar con rutas absolutas y rutas relativas, para rutas absolutas pode colocar la ruta en nuestro código y Node JS se encargará de interpretarlas via POSIX


Así mismo podemos utilizar una ruta relativa de un archivo via POSIX


Hay versiones de sistemas operativos que tratan las rutas de los archivos como secuencias de bytes opacas, para ellos puedes usar el módulo Buffer para normalizarla, se puede aplicar a rutas relativas  o absolutas

Soporte para Rutas de tipo URL

Node JS nos permite pasar archivos como objeto URL WHATWG y solo admite objetos que usen el protocolo file:


En su mayoría las rutas URL de archivos con file: son siempre rutas absolutas-

Operaciones con Archivos

En Node JS podemos crear, leer, actualizar, eliminar y renombrar archivos de manera sencilla, veamos a continuación

Crear Archivo

Podemos crear un archivo en el servidor de manera sencilla con la función fs.appendFile() , si el archivo existe este es reemplazado por el nuevo archivo creado.


Puedes especificarle el tipo de codificación del archivo


Leer Archivo

Para leer un archivo en Node JS puedes usar la función fs.readFile(), por ejemplo queremos leer los datos de un archivo excel asincrónicamente


Si no le indicas el tipo de codificación, entonces obtendrás el buffer de datos en bruto


Actualizar Archivo

Podemos actualizar el contenido de un archivo con la función fs.writeFile() , también puedes usar fs.appendFile() según lo que creas te sea conveniente, primero le indicamos que archivo es el que debe actualizar y luego le pasamos el contenido que va a actualizar en el archivo


Eliminar Archivo

Para borrar un archivo en el servidor usaremos la función fs.unlink() , solamente le indicamos el nombre del archivo que debe eliminar del servidor


Renombrar Archivo

Puedes cambiarle el nombre a un archivo que se encuentre en tu servidor con la función fs.rename(), debes indicarle primero el nombre del archivo que quieres renombrar y luego pasarle el nuevo nombre del archivo que va a tener


Si busca hacer otras operaciones con archivos, puedes revisar la documentación oficial de Node JS 10.

imagen: tecnonucleous.com

 

Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.