5
votes

Téléchargement de fichier dans le dossier wwwroot dans ASP.NET Core

Pourquoi mes codes suivants fonctionnent parfois, mais parfois cela ne fonctionne pas?

 private bool UploadFile(IFormFile ufile, string fname)
 {
     if (ufile.Length > 0)
     {
          string fullpath = Path.Combine(_env.WebRootPath, fname);
          using (var fileStream = new FileStream(fullpath, FileMode.Create))
          {
               ufile.CopyToAsync(fileStream);
          }
          return true;
     }
     return false;
 }

Le code a réussi à enregistrer l'image dans un dossier que j'ai créé sous wwwroot , mais l'image n'apparaît pas, et même dans Visual Studio.

Y a-t-il un moyen de le résoudre?

Merci.

Même lorsque j'ouvre l'explorateur de fichiers du dossier qui stocke les images, l'image est comme si elle était là mais ne montre aucune image.


3 Réponses :



1
votes

J'ai eu le même problème avec dot net core, voici ce que j'ai fait:

-Faire un répertoire virtuel

-Mappez-le à ce chemin de dossier (à l'intérieur de wwwroot)

-Rendez votre chemin complet égal à ce VD; chemin absolu (peut le conserver dans le fichier de configuration)

-Donner les autorisations d'écriture pour ce dossier à iisuser


1 commentaires

Salut merci pour l'aide, avez-vous des captures d'écran pour chaque étape que cela ne vous dérange pas de partager avec moi?



0
votes

autorisez l'accès aux fichiers statiques, ajoutez simplement cette ligne dans votre fichier startup.cs sous la méthode Configure:

app.UseStaticFiles();


3 commentaires

" mais l'image n'apparaît pas " vous voulez dire qu'elle n'apparaît pas dans le navigateur Internet? ou vous ne le voyez pas du tout même lorsque vous naviguez manuellement dans le navigateur de fichiers?


Mais parfois, cela se montre. Est-ce quelque chose à voir avec les paramètres ou les codes?


en fait, dire " parfois " n'est pas assez clair pour en connaître la raison, cela pourrait être la taille ou le type de fichier qui empêche le fichier d'être enregistré. Faites simplement des tests plus précis pour trouver quand les fichiers sont enregistrés et quand ils ne le sont pas, cela peut être facile à résoudre.