如何在目录中按名称选择图像?
本文关键字:选择 图像 | 更新日期: 2023-09-27 18:15:37
我在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);
}
感谢@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);
}