Así que me acabo de encontrar con un error muy extraño. Estoy tratando de cargar imágenes de forma masiva a IPFS usando una clave de API privada. Las imágenes provienen del directorio de mi proyecto y cuando ejecuto el código, funciona, pero solo para un par de imágenes. El resto de las imágenes muestran el mismo error, que no estoy usando una cadena cuando quiere una cadena. Lo más extraño es que cuando vuelvo a ejecutar el código, obtengo entre 2 imágenes funcionando y 5 funcionando, el resto falla. Y en casi todas las pruebas, la imagen 8 es la primera que se carga. Esto es muy extraño para mí, no puedo descifrar si mi código es incorrecto (pero entonces mis errores serían consistentes, ¿no?), o tal vez mi clave API está rota de alguna manera, o tal vez solo está haciendo todo demasiado rápido para el servidor para mantenerse al día. Estoy perdido, alguna idea?
ARCHIVO QUE ESTOY EJECUTANDO:
import FormData from 'form-data'; import fetch from 'node-fetch'; import path from 'path'; const basePath = process.cwd(); import fs from 'fs'; fs.readdirSync(`${basePath}/build/images`).forEach(file => { const formData = new FormData(); const fileStream = fs.createReadStream(`${basePath}/build/images/${file}`); formData.append('file', fileStream); let url = 'https://api.nftport.xyz/v0/files'; let options = { method: 'POST', headers: { Authorization: (private), }, body: formData }; fetch(url, options) .then(res => res.json()) .then(json => { const fileName = path.parse(json.file_name).name; let rawdata = fs.readFileSync(`${basePath}/build/json/${fileName}.json`); let metaData = JSON.parse(rawdata); metaData.file_url = json.ipfs_url; fs.writeFileSync(`${basePath}/build/json/${fileName}.json`, JSON.stringify(metaData, null, 2)); console.log(`${json.file_name} uploaded and ${fileName}.json updated!`); }) .catch(err => console.error('error:' + err)); })PRODUCCIÓN:
DeprecationWarning: form-data doesn't follow the spec and requires special treatment. Use alternative package (Use `node --trace-deprecation ...` to show where the warning was created) error:TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined error:TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined error:TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined 8.png uploaded and 8.json updated! 10.png uploaded and 10.json updated!