2008-10-28 8 views
1

Notre client Web a besoin d'un moyen de parcourir le réseau local et de sélectionner un emplacement pour le stockage de fichiers. Cela sera ensuite renvoyé à la page Web en tant que nom UNC.Comment puis-je parcourir le réseau local à partir d'un client Web en utilisant C#?

Sur un client natif, ceci est facilement accompli en utilisant les fonctions Shell32.

J'ai regardé ASP FileUpload, mais cela retourne le fichier par rapport à un répertoire spécifique.

EDIT: Une autre option serait d'exécuter ceci sur le client en utilisant javascript.

Répondre

0

Vous pouvez réellement pouvez utiliser les fonctions Shell32 en C#, voir P/Invoke.

1

Si par "client Web", vous voulez dire un navigateur Web - alors vous ne pouvez vraiment pas. Il y a un HTML file input, mais il nécessite un fichier (ce que ASP FileUpload utilisait sans aucun doute). Il est Shell.Application.BrowseForFolder et vous pouvez create your own en utilisant Scripting.FileSystemObject - mais ce ne sont que Windows, et serait probablement verrouillé avec des restrictions de sécurité ces jours-ci.

Si vous êtes prêt à prendre une dépendance sur Flash ou Silverlight, vous pouvez probablement construire ou acheter quelque chose en eux. Cependant, je ne pense pas que Silverlight a un contrôle intégré pour cela (OpenFileDialog est le plus proche, mais semble aussi seulement permettre de sélectionner un dossier).

Questions connexes