Le contrôle FileUpload nécessite que je fournisse un répertoire racine dans la méthode SaveAs(). Cependant, je préfèrerais que les fichiers téléchargés soient placés dans un répertoire virtuel, tel que "~/UserFiles/[nom d'utilisateur]/[nom de fichier]". Y a-t-il un moyen pour moi d'accomplir cela?FileUploads et répertoires racine
Répondre
Utilisez les pages MapPath méthode: -
ctl.SaveAs(MapPath("~/UserFiles/[username]/[filename]"));
Merci. Tout a un sens maintenant. –
ummm. . . est-il un moyen pour moi de créer "~/userdata/[nom d'utilisateur]" s'il n'existe pas déjà? –
System.IO.Directory.CreateDirectory (MapPath ("~/userdata/[nom d'utilisateur]")); – AnthonyWJones
Non, le mot clé est requis. Vous pouvez utiliser votre script pour copier le fichier après le téléchargement.
Hmmm. Savez-vous quelle est la justification pour exiger un répertoire enraciné pour ce contrôle? Cela me semble fou. –
Le rationnel est que c'est un chemin de fichier physique puisque vous enregistrez dans le système de fichiers. Les chemins dans les URL sont des chemins logiques non physiques. Il est probable que de nombreuses utilisations enregistreront le fichier quelque part en dehors des dossiers représentant le site Web. – AnthonyWJones
Ouais. Mais dans mon cas, les utilisateurs n'ont aucun contrôle sur l'endroit où le fichier est sauvegardé. Seul mon programme le fait. –
Parfois, le MapPath n'est pas directement accessible.
Dans ce cas, utilisez
ctl.SaveAs(Server.MapPath("~/UserFiles/[username]/[filename]"));
est-il un moyen pour moi de créer "~/userdata/[nom d'utilisateur]" s'il n'existe pas déjà? –
- 1. Quelle est votre méthode de répertoires avec dans une racine
- 2. Comment ajouter des fichiers et des répertoires à un fichier zip sans le répertoire racine?
- 3. ASP.NET et répertoires virtuels
- 4. Comment accéder au répertoire racine d'un dossier
- 5. Configuration des répertoires et des chemins Smarty
- 6. Packages Python et répertoires egg-info
- 7. Java WebStart et les répertoires approuvés
- 8. Structure des répertoires Vues et présentateurs.
- 9. Répertorier les répertoires et les fichiers PHP
- 10. WindowsPrincipal.IsInRole et groupes de répertoires actifs universels et globaux
- 11. Comment afficher les répertoires et les répertoires d'application commençant par dot dans Netbeans sous OSX?
- 12. Dotnetnuke menu racine personnalisée
- 13. Contourner la racine agrégée
- 14. élément racine manquant d'erreur
- 15. OpenCV: Accéder et prendre la racine carrée des pixels
- 16. Conception pilotée par domaine: racine agrégée et racines agrégées secondaires
- 17. Inclure plusieurs répertoires dans le script PHP
- 18. Valide et fusionne sur des sous-répertoires SVN considérés comme nuisibles?
- 19. java: créer des répertoires
- 20. Définir des répertoires web comme des répertoires restreints
- 21. répertoires ouverture listview
- 22. Récupère le chemin et le nom de fichier de tous les fichiers d'un répertoire donné et de ses sous-répertoires
- 23. structures de répertoires C++
- 24. Enregistrement d'un fichier et création automatique de répertoires
- 25. -Wmissing-include-dirs et répertoires d'en-tête automatiquement inclus
- 26. Comment spécifier les répertoires log et pid du démon?
- 27. vbscript: répertoires de registre et les clés liste
- 28. Sécurité des fichiers et des répertoires avec IPrincipal
- 29. Comment gérer les fichiers et les répertoires sous WSH?
- 30. Recherche de fichiers et de répertoires sur le site Web
Soyez conscient de ce que vous faites quand un téléchargement va directement dans un dossier qui est accessible à partir de votre serveur Web. On dirait que vous ouvrez une vulnérabilité grave. –