我在MVC应用程序中创建了一个图像上传功能。图像将上载到应用程序中的目录中,并使用ImageResizer插件进行重新调整,重命名和格式化。所有图像都重命名为ID号。
我想知道的是,一旦图像在目录中,有没有办法按名称选择图像?我尝试了几种不同的方法,但我无法工作。
以下是我尝试使用'where'语句的代码,但这种方法不起作用。
public ActionResult Index(int? vesselId)
{
var filePath = Server.MapPath("~/Content/images/vessels/");
var fileName = Path.GetFileNameWithoutExtension(filePath);
var model = new VesselImagesViewModel
{
VesselImages = Directory.EnumerateFiles(filePath)
.Select(fn => Path.GetFileName(fn))
.Where(fileName.Equals(vesselId));
};
return View(model);
}
答案 0 :(得分:0)
感谢@Quantic输入此内容,方法是将文件名与:
进行比较Path.GetFileNameWithoutExtension
完整代码如下:
<强>控制器强>
public ActionResult Details(int? vesselId)
{
//
// Enumerate through the images directory and
//return the results to the view.
var filePath = Server.MapPath("~/Content/images/vessels/");
var fileName = Path.GetFileNameWithoutExtension(filePath);
var model = new VesselImagesViewModel
{
VesselImages = Directory.EnumerateFiles(filePath)
.Select(fn => "~/Content/images/vessels/" + Path.GetFileName(fn))
.Where(id => Path.GetFileNameWithoutExtension(id) == vesselId.ToString())
};
return View(model);
}