Question

Lorsque l'utilisateur A télécharge un fichier, ses fichiers sont chargés dans le dossier A, lorsqu'il est utilisateur B, dans le dossier B, etc. Rôles / Profils dans ASP.NET. Les dossiers seront préexistants. Quelqu'un?

Était-ce utile?

La solution

Vous voudrez probablement coder cela à la main. Il n'y a rien de intrinsèque à ASP.NET pour gérer les fichiers utilisateur. Cependant, le code pour le faire devrait être relativement facile. En supposant que le nom d'utilisateur est unique et qu'il ne change jamais, vous pouvez le combiner avec un chemin d'accès (utilisez Path.Combine) et le télécharger à cet emplacement. Je voudrais également verrouiller cet endroit afin que personne d'autre ne puisse y accéder.

Autres conseils

Par le passé, j'ai utilisé un dossier de téléchargement de base (par exemple, des téléchargements) et créé un dossier à l'aide de l'ID utilisateur de la base de données. Donc, la structure serait .. \ uploads \ 145 pour un utilisateur avec un ID utilisateur de 145.

La première chose que mon code fait est de vérifier si le dossier existe et sinon, appelle Directory.Create () (ou quelle que soit la syntaxe utilisée) pour créer le dossier avant le téléchargement.

Autres informations qui pourraient vous être utiles: Je renomme également le fichier à l'aide d'un GUID, qui évite les conflits de noms s'il télécharge 2 fichiers portant le même nom. L'inconvénient est que vous devrez normalement conserver une table avec le nom de fichier d'origine et le nom de fichier physique (GUID).

Vous pouvez simplement vérifier l’existence du dossier et le créer pour l’utilisateur s’il n’existe pas, mais cela peut avoir des conséquences sur la sécurité. Vous pouvez également essayer de stocker des données dans une base de données et de les associer à un utilisateur. Cela dépend de ce que vous laissez les utilisateurs télécharger, je suppose.

Vous pouvez le faire de plusieurs manières:

Utilisation de l'authentification par formulaires

Si vous utilisez l'authentification par formulaires, vous pouvez définir une convention selon laquelle le nom d'utilisateur ou l'ID d'un utilisateur peut servir de base à un chemin d'accès sur votre serveur où l'utilisateur peut télécharger un fichier. Notez que votre utilisateur n'aura pas d'accès direct à ce dossier: il devrait également pouvoir télécharger les fichiers de votre serveur via votre application Web.

Utilisation de l'authentification Windows

Si vous utilisez l'authentification Windows (par exemple, ActiveDirectory), vous pouvez fournir un accès utilisateur à l'emplacement physique du dossier et via une application Web.

P.S. - Content de te voir ici, Marlon!

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