ASP NET MVC 5 Supprimer le fichier du serveur
Afficher Le Code:
@if (File.Exists(Server.MapPath("~/Images/Cakes/" + Html.DisplayFor(modelItem => Model.CakeImage))))
{
@model TastyCakes.Models.Cakes
<form name="deletePhoto" action="/Cakes/DeletePhoto" method="post">
@Html.AntiForgeryToken()
File name of image to delete (without .jpg extension):
<input name="photoFileName" type="text" value="@Html.DisplayFor(modelItem => Model.CakeImage)" />
<input type="submit" value="Delete" class="tiny button">
</form>
} else {
<p>*File Needs to be uploaded</p>
}
Contrôleur De Code:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult DeletePhoto(string photoFileName)
{
ViewBag.deleteSuccess = "false";
var photoName = "";
photoName = photoFileName;
var fullPath = Server.MapPath("~/Images/Cakes/" + photoName);
if (File.Exists(fullPath))
{
File.Delete(fullPath);
ViewBag.deleteSuccess = "true";
}
}
Où il est dit que si (Fichier.Il existe) ET le Fichier.Supprimer le code a des traits ondulés-dessous. Donc, je suis à essayer de comprendre quelle est la syntaxe j'ai besoin d'obtenir thif fichier supprimé.
Voici une capture d'écran de mon code dans le contrôleur:
UPPDATE: j'ai obtenu le code de travail et créé un exemple de code simple sur mon blog sur la façon dont je l'ai eu de travail et comment l'idée m'est venue.
http://httpjunkie.com/2014/724/mvc-5-image-upload-delete/
source d'informationauteur Eric Bishard
Vous devez vous connecter pour publier un commentaire.
utilisation
Request.MapPath
File
que vous l'utilisez, est ambigu, d'où la "ligne sinueuse". L'IDE ne peut pas résoudre ce qui vous signifient;System.Web.Mvc.Le contrôleur.File()
ou
System.IO.Fichier
Utiliser un nom pleinement qualifié lorsque vous essayez d'utiliser le Fichier API à l'intérieur d'un contrôleur MVC.
merci pour @Damith Réponse
J'ai créé cette fonction
et voici un exemple simple d'utilisation de
Ajouter
using System.IO;
en haut de votre contrôleur.vous pouvez également utiliser
HostingEnvironment.MapPath
place deRequest.MapPath
Cet exemple fonctionne très bien pour moi: