如何在目录中按名称选择图像?

本文关键字:选择 图像 | 更新日期: 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);
    }