Je veux télécharger un fichier en utilisant asp.net, donc je ne veux pas poster la page pendant le téléchargement. Comment puis-je faire cela et est-il possible de le faire en utilisant Ajax.Comment télécharger un fichier en utilisant asp.net sans afficher la page entière?
0
A
Répondre
0
Un iframe peut être placé sur votre page et peut contenir un élément d'entrée, type = fichier. Vous pouvez manipuler et soumettre le formulaire iframe via javascript. Vous pouvez masquer l'iframe en définissant son style CSS à afficher: none. Ceci est généralement connu comme la méthode iframe cachée.
0
Utilisez quelque chose de prouvé comme SWFUpload et économisez le temps d'écrire votre propre code client.
3
Faites en sorte que le formulaire de téléchargement de fichier cible un cadre iFrame caché.
<iframe name="UploadTarget" style="display:none"></iframe>
<form target="UploadTarget" action="postfile" method="post" enctype="multipart/form-data">
<input type="file" name="MyFile">
<input type="submit" name="submit" value="Send me a file">
</form>
L'astuce finale consiste à ajouter à votre page de réponse:
<script type="text/javascript">parent.somecallbackfunction("Here is some data")</script>
Pour que votre page parent (celui contenant le iframe caché) savent que le le téléchargement de fichiers est terminée.
avertissement: pour une raison quelconque, SWFUpload ne fonctionne pas derrière mon proxy d'entreprise. http://swfupload.org/forum/generaldiscussion/349 – russau
Bon à garder à l'esprit +1. vous devriez toujours avoir une sauvegarde non-flash de toute façon (formulaire HTML standard POST) IMO –