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é.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top