-
Notifications
You must be signed in to change notification settings - Fork 0
/
upload.js
36 lines (31 loc) · 1.21 KB
/
upload.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
/**
* Fonction pour envoyer un fichier au serveur.
* @param {string} filePath - Le chemin du fichier à télécharger.
* @param {string} apiKey - La clé API pour authentifier l'utilisateur.
* @returns {Promise<object>} - La réponse du serveur.
*/
async function uploadFile(filePath, apiKey) {
try {
// Créez un stream de lecture pour le fichier
const fileStream = fs.createReadStream(filePath);
// Configurez le formulaire de données
const formData = new FormData();
formData.append('file', fileStream);
// Envoyez le fichier au serveur distant avec la clé API
const response = await axios.post('https://uploadlunarty.cloudnest.ovh/api/upload', formData, {
headers: {
'x-api-key': apiKey, // Ajoutez la clé API dans les en-têtes
...formData.getHeaders() // Ajoutez les headers nécessaires pour le formulaire
}
});
//console.log('Fichier téléchargé avec succès :', response.data);
return response.data;
} catch (error) {
console.error('Erreur lors du téléchargement du fichier :', error);
throw error;
}
}
module.exports = uploadFile;