Haciendo varias pruebas de validación de archivos, necesito un archivo con más de 250 MB, pero no quiero almacenarlo en el repositorio.
Estoy tratando de crear un archivo con NodeJs en tiempo de ejecución con varias funciones que he encontrado, pero no me funcionan.
Este crea el archivo, pero no tiene el tamaño que estoy pasando. Los archivos tienen solo 1 byte.
createFile(filePath, size) { return new Promise((resolve, reject) => { setTimeout(() => { try { const fd = fs.openSync(`${filePath}`, 'w'); //fs.writeSync(fd, 'ok', Math.max(0, size - 2)); fs.writeSync(fd, Buffer.alloc(1, 'ok', 'base64'), 0, 1, //Math.max(0, size - 1) size - 1 ); fs.closeSync(fd); resolve(true); } catch (error) { reject(error); } }, 0); }); }Agradeceré cualquier ayuda.
Buffer.alloc(1...)puede ser el problema
Cuando dije eso, quise decir que Buffer.alloc(someNumber) sería la longitud de su búfer, razón por la cual la longitud del archivo escrito terminó como 1
Mantuve su lógica de promesa de devolución en la función createFile continuación
createFile(filePath, size) { return new Promise((work,fail)=>{ fs.writeFile(filePath, Buffer.alloc(size), err=>err?fail(err):work()) //fs.writeFile(desiredPath, desiredSize, (reject if error and resolve if none)) }) }