如何将键附加到图像的名称 asp.net mvc

How to append key to an image's name asp.net mvc

这是我将后缀附加到图像的代码:

private void SaveUpload(SledBuck sledBuck )
{
    if (Request.Files.Count > 0)
    {                
        var postFix = "_" + sledBuck.Id;
        for (var index = 0; index < Request.Files.Count; index++)
        {
             if (Request.Files[index].ContentLength > 0)
             {                   
                 var hpf = Request.Files[index];
                 var postedFileName = string.Format("{0}-{1}", Path.GetFileName(hpf.FileName), postFix);

                 string folderPath =  ConfigurationManager.AppSettings["ImagePath"];

                 var savedFileName = Path.Combine(Server.MapPath(folderPath), postedFileName);
                        hpf.SaveAs(savedFileName); // Save the file

              }
         }
     }
}

假设图像的名称是 image.jpg。我想在更新它之前将主键附加到它的名称,如 image_1.jpg。对于 postedFileName = image.jpg_1 上面的代码,这不是我想要的。如何正确附加 ID?

所以基本上您得到的 hpf.FileName 是文件名 + 扩展名。您需要获得扩展并相应地工作,

所以这样进行:

var hpf = Request.Files[index];

var FileExtension = Path.GetExtension(hpf.FileName);
var FileNameWithoutExtension = hpf.FileName.Replace(FileExtension, "");
var FileUniqueName = String.Format("{0}_{1}{2}", FileNameWithoutExtension, GenerateDateTimeStamp(), FileExtension);

string folderPath =  ConfigurationManager.AppSettings["ImagePath"];

var savedFileName = Path.Combine(Server.MapPath(folderPath), FileUniqueName);
hpf.SaveAs(savedFileName); // Save the file 

其中 GenerateDateTimeStamp()

public string GenerateDateTimeStamp()
{
    return DateTime.Now.ToString("ddmmyyyyMMhhssttt");
}

在这里你也可以有你的主键。

这应该会给你一些想法