Dans nodeJS, je souhaite définir un dossier par défaut pour ma fonction de téléchargement de l'API Box
P粉189606269
P粉189606269 2023-09-16 16:35:25
0
1
734

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粉189606269
P粉189606269

répondre à tous(1)
P粉668804228

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);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal