Fonction de téléchargement personnalisé pour GridJs
Comment implémenter une fonction de téléchargement personnalisée pour GridJs
GridJs offre un mécanisme de téléchargement flexible qui vous permet de personnaliser le comportement de téléchargement de fichiers. Vous pouvez définir une fonction de téléchargement personnalisée pour gérer les téléchargements en fonction de vos besoins.
Définir une fonction de téléchargement personnalisée
GridJs fournit la méthode setFileDownloadCallFunction pour définir une fonction de téléchargement personnalisée. Lorsque les utilisateurs cliquent sur le bouton de téléchargement, cette fonction sera appelée avec des paramètres spécifiques.
Usage de base
// Define your custom download function
function customDownloadHandler(toFileName, outputType, saveMode) {
console.log('File Name:', toFileName);
console.log('Output Type:', outputType);
console.log('Save Mode:', saveMode);
// Implement your custom download logic here
// For example: upload to cloud storage, save to custom location, etc.
}
// Set the custom download function
xs.setFileDownloadCallFunction(customDownloadHandler);
Paramètres de la fonction
La fonction de téléchargement personnalisée reçoit trois paramètres :
1. toFileName
- Type: Chaîne de caractères
- Description: Le nom du fichier à télécharger
- Exemple:
"monfichier.xlsx","rapport.pdf"
2. outputType
- Type: Chaîne de caractères
- Description: Le format de fichier de sortie
- Valeurs possibles :
Original- Conserver le format de fichier originalXLSX- Exporter au format ExcelPDF- Exporter au format PDFHTML- Exporter au format HTML
3. saveMode
- Type: Chaîne de caractères
- Description: Le mode de destination de l’enregistrement
- Valeurs possibles :
Device- Télécharger sur l’appareil local (par défaut)GoogleDrive- Enregistrer sur Google DriveDropbox- Enregistrer sur Dropbox
Scénarios de téléchargement
GridJs prend en charge plusieurs scénarios de téléchargement en fonction des actions de l’utilisateur :
1. Télécharger dans différents formats
function customDownloadHandler(toFileName, outputType, saveMode) {
switch(outputType) {
case 'Original':
// Handle original format download
downloadAsOriginal(toFileName);
break;
case 'XLSX':
// Handle Excel format download
downloadAsExcel(toFileName);
break;
case 'PDF':
// Handle PDF format download
downloadAsPDF(toFileName);
break;
case 'HTML':
// Handle HTML format download
downloadAsHTML(toFileName);
break;
}
}
xs.setFileDownloadCallFunction(customDownloadHandler);
2. Enregistrer dans le stockage cloud
function customDownloadHandler(toFileName, outputType, saveMode) {
if (saveMode === 'GoogleDrive') {
// Implement Google Drive upload logic
uploadToGoogleDrive(toFileName, outputType);
} else if (saveMode === 'Dropbox') {
// Implement Dropbox upload logic
uploadToDropbox(toFileName, outputType);
} else {
// Default: download to device
downloadToDevice(toFileName, outputType);
}
}
xs.setFileDownloadCallFunction(customDownloadHandler);
Notes
-
Enregistrement de la fonction : Assurez-vous d’appeler
setFileDownloadCallFunctionavant que les utilisateurs n’interagissent avec la fonctionnalité de téléchargement. -
Gestion des erreurs : Implémentez toujours une gestion appropriée des erreurs dans votre fonction de téléchargement personnalisée pour fournir un retour aux utilisateurs.
-
Opérations asynchrones : Si votre logique de téléchargement implique des opérations asynchrones (comme des appels API), assurez-vous de gérer correctement les promesses.
-
Extension du nom de fichier : Lorsque le type de sortie n’est pas “Original”, l’extension du fichier sera automatiquement ajustée pour correspondre au type de sortie (par exemple,
.xlsx,.pdf,.html). -
Comportement par défaut : Si vous ne définissez pas de fonction de téléchargement personnalisée, GridJs utilisera son comportement de téléchargement par défaut.