Estoy tratando de enviar una solicitud POST para cargar un archivo en mi servidor IPFS. Sin embargo, no estoy seguro de cómo puedo cargar un archivo en el cuerpo de la solicitud. He intentado mirar los ejemplos de Fetch API, pero su ejemplo muestra archivos cargados desde un formulario. Mientras que en mi caso, los archivos ya están dentro de mi directorio.
Actualización: revisé mi código para enviar una solicitud POST a mi servidor IPFS según la documentación de Fetch API y ahora puedo enviar una solicitud correctamente. Sin embargo, todavía estoy atascado en cómo puedo obtener la variable "fileInput" para hacer referencia a un archivo de mi directorio. El ejemplo actual solo funciona si tengo un formulario html.
Probé la biblioteca nodejs fs pero me encontré con problemas en los que algunas de las funciones no están disponibles. Parece que el uso de fs puede plantear ciertos problemas de seguridad por lo que leí. Agradecería si puedo tener algún consejo sobre esto.
var formdata = new FormData(); const fileInput = document.querySelector('input[type="file"]'); formdata.append( "file", fileInput.files[0], `../../ipfs_files/${item._id}.png` ); var requestOptions = { method: "POST", body: formdata, redirect: "follow", }; fetch("http://localhost:5001/api/v0/add", requestOptions) .then((response) => response.text()) .then((result) => console.log(result)) .catch((error) => console.log("error", error));también puede enviar datos como una cadena base64 y almacenarlos en la base de datos y luego, al acceder, volver a convertirlos al formato original.