2017-09-28 2 views
1

Je crée une application principale auto-hébergée asp.net avec la version 2.0C# asp.net core v. 2 auto-hébergé comment télécharger une image dans un sous-dossier sous wwwroot?

Je rencontre des problèmes pour télécharger des images à afficher sur la page Web. Je veux que les images soient placées sous wwwroot, mais sur mon ordinateur Windows, le wwwroot se trouve sous les fichiers de programme/mon dossier d'application, où j'ai besoin de droits d'administrateur pour écrire. (en plus d'être un endroit désagréable pour mettre les fichiers) Comment puis-je changer l'emplacement du wwwroot? et/ou changer l'emplacement de l'envoi des fichiers. Et comment puis-je définir le chemin dans le src pour pointer vers wwwroot/où je le place sur le disque?

Répondre

2

Créer un nouveau fournisseur de fichier physique:

public class UserFilesProvider : PhysicalFileProvider 
{ 
    public UserFilesProvider() : base(@"C:\Path\To\wwwroot") { } 
} 

Passez votre fournisseur de fichiers physique StaticFileOptions dans Startup.Configure

app.UseStaticFiles(new StaticFileOptions() 
{ 
    FileProvider = new UserFilesProvider(); 
} 

Vous aurez toujours besoin d'accorder des autorisations dans le nouveau dossier, mais cela vous permettra d'assigner l'emplacement de ce dossier.