Téléversement de fichiers en grails
-
03-07-2019 - |
Question
Je crée une application Web à l'aide de grails qui utilise beaucoup d'ajax.Je veux implémenter le téléchargement de fichier à l'aide de ajax.Je ne sais pas comment utiliser ajax pour le téléversement de fichier.Mon exemple de code GSP est:
<!-- code for file upload form-->
<div id="updateArea">
</div>
J'ai essayé avec et. Après le téléchargement, je souhaite mettre à jour le 'updateArea' avec le résultat. En conséquence, je prévois d'afficher les détails du fichier téléchargé.
La solution
Télécharger un fichier via Ajax n’est pas vraiment possible. Vous pouvez toujours télécharger un fichier en arrière-plan à l'aide d'une iframe masquée et évaluer la réponse (qui se trouve alors dans l'iframe) ou déclencher un autre appel ajax une fois le téléchargement terminé.
<g:form name="upload-form" action="upload" method="post" enctype="multipart/form-data" target="hidden-upload-frame">
File: <input type="file" name="myFile" />
<button type="submit">Upload</button>
</g:form>
<iframe id="hidden-upload-frame" name="hidden-upload-frame" style="display: none" onload="onUploadComplete">
</iframe>
<script type="text/javascript">
function onUploadComplete(e) {
// Handle upload complete
alert("upload complete");
// Evaluate iframe content or fire another ajax call to get the details for the previously uploaded file
}
</script>
Une autre option consiste à utiliser un mécanisme de téléchargement Flash (par exemple, swfupload ) au lieu de l'iframe.
Autres conseils