Télécharger le Fichier en utilisant MVC de Base
Je ne trouve pas de référence pour le téléchargement d'un fichier en utilisant MVC de Base.
Nous avons un seul fichier exe pour les membres de la télécharger à partir de notre site web. Dans le passé, nous avons mis
<a href=(file path)> Download < /a>
pour nos utilisateurs à cliquer. Je voudrais faire quelque chose d'équivalent dans MVC de Base le long de la lignes de
<a href=@ViewData["DownloadLink"]> Download < /a>
avec DownloadLink rempli avec le chemin d'accès au fichier.
public class DownloadController : Controller
{
[HttpGet]
public IActionResult Index()
{
ViewData["DownloadLink"] = ($"~/Downloads/{V9.Version}.exe");
return View();
}
}
`
Le lien <a href=@ViewData["DownloadLink"]> Download < /a>
obtient le chemin d'accès correct, mais quand on clique dessus ne s'affiche le chemin d'accès dans la barre d'adresse. Est-il un moyen simple d'un lien de téléchargement?
Votre action doit renvoyer un contenu conséquent, pas d'un point de vue. Regardez dans le Contrôleur.Méthode de fichiers.
OriginalL'auteur Vague | 2016-02-06
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé cette réponse posté par @Tieson T à venir avec cette solution
La vue est maintenant
@Ageonix était également correcte à propos de ne pas exiger l' ~ pour se rendre à wwwroot
return File
, ce Fichier est une classe statique, comment puis-je l'utiliser dans .Net Core 2.0?De fichiers est une méthode statique dans "de Microsoft.AspNetCore.Mvc.ControllerBase" qui renvoie "FileContentResult".Il est semblable à "Ok()" ou "NotFound()". FileContentResult est StatusResult comme OkResult.
Si vous êtes en utilisant .net de base, vous avez probablement envie de l'utiliser wwwroot dans le chemin d'accès du fichier, par exemple: var filePath = $"wwwroot/téléchargements/{nom de fichier}";
OriginalL'auteur Vague
Je ne suis pas un endroit où je peux l'essayer, mais serait quelque chose comme cela faire l'affaire?
Oups. Essayez d'utiliser une graduation sur celles intérieur des guillemets.
Je ne suis pas sûr de savoir comment la structure de votre site est bien, mais si vous allez avoir un 400 êtes-vous sûr que vous avez besoin de le tilde (~) là-bas? En d'autres termes, avez-vous vérifié pour voir si vous êtes arriver à la bonne place?
Aucun des variations sur @Ageonix. la réponse semble pour analyser correctement le chemin d'accès. Ma première tentative obtient le chemin d'accès correct, mais n'a pas de téléchargement. Est-ce un MVC chose ... c'est le chemin pour pointer vers un contrôleur de l'action et ne peut pas pointer vers un fichier à télécharger?
OriginalL'auteur Ageonix