recherche

Maison  >  Questions et réponses  >  le corps du texte

Dans nodeJS, je souhaite définir un dossier par défaut pour ma fonction de téléchargement de l'API Box

J'utilise le SDK Box pour NodeJS et j'ai une fonction pour télécharger des fichiers. J'ai juste besoin de configurer le téléchargement pour qu'il soit placé dans un sous-dossier du projet J'ai lu la documentation mais je ne trouve aucun paramètre pertinent

async function downloadBoxFile(fileID, fileName) {
  try {
    // Load configuration
    const config = loadConfiguration();
    const { clientID, clientSecret, enterpriseID } = config.boxConfiguration;

    // Authenticate Box client
    const boxClient = boxAuthentication(clientID, clientSecret, enterpriseID);        

    const fileReadStream = await boxClient.files.getReadStream(fileID, null, {
      fields: 'modified_at, size, sha1, owned_by'
    });

    const writeStream = fs.createWriteStream(fileName);
    fileReadStream.pipe(writeStream);

    return new Promise((resolve, reject) => {
      fileReadStream.on('end', () => {        
        writeLog('> File downloaded successfully:' + fileName);
        resolve();
      });
      fileReadStream.on('error', (error) => {
        console.log('Error downloading file:', error);
        writeLog('Error downloading file:', error);
        reject(error);
      });
    });
  } catch (error) {
    console.log('Error downloading file:', error);
    writeLog('Error downloading file:', error);
    throw error;
  }
}

P粉189606269P粉189606269436 Il y a quelques jours735

répondre à tous(1)je répondrai

  • P粉668804228

    P粉6688042282023-09-17 15:57:39

    J'ai réussi à résoudre ce problème en passant simplement le paramètre path à la fonction et en l'ajoutant au nom du fichier

    const fullPath = path.join(folderPath, fileName);
    const writeStream = fs.createWriteStream(fullPath);
    fileReadStream.pipe(writeStream);

    répondre
    0
  • Annulerrépondre