2010-02-23 10 views
0

Je veux permettre aux utilisateurs de mon site Web de télécharger les fichiers à partir du serveur, mais je ne peux le faire qu'avec les fichiers qui se trouvent dans le dossier du site (en créant des hyperliens vers ces fichiers).asp.net - comment télécharger des fichiers à partir du serveur

Comment permettre aux utilisateurs de télécharger des fichiers depuis un serveur qui ne se trouve pas dans le dossier du site mais ailleurs sur le serveur.

Répondre

5

Créez un VirtualDirectory sous votre site Web dans IIS. Ensuite, vous pouvez pointer VirtualDirectory vers l'autre emplacement qui stocke vos fichiers. Ensuite, pour les télécharger serait comme: http://yoururl.com/YourVirtualDirectory/YourFile1.txt

La raison pour laquelle votre session abandonne après quelques modifications de fichier est le JIT reçoit un FileChangeNotifcation et en essayant de recompiler votre site Web. S'en tenir à la solution VirtualDirectory

3

L'accès aux fichiers en dehors du site Web (son dossier) n'est pas sûr. Le propriétaire du serveur n'aime pas que ce type de site soit exécuté sur le serveur. Vous devriez garder le magasin de fichiers sur le site.

+0

@Kangkan: J'ai aussi essayé cela, mais je faisais face à 2 problèmes. Tout d'abord, lorsque je supprime un fichier (qui se trouve dans le dossier du site) lors de l'exécution, toutes les variables de session disparaissent. Deuxièmement, le nombre de fichiers peut être trop grand, j'ai donc décidé de conserver les fichiers dans un dossier en dehors du dossier du site. – Akshay

+1

Cela ne devrait se produire que si vous les laissez supprimer web.config (ou les fichiers de configuration externes référencés par lui) ou n'importe quoi dans le dossier bin. Le meilleur emplacement IMO pour les fichiers utilisateur dans une application Web ASP.NET se trouve dans le dossier App_Data. – jrummell

Questions connexes