Как объединить строку с помощью HttpPostedFileBase в C #?

#c# #asp.net-mvc

#c# #asp.net-mvc

Вопрос:

Я не могу найти в интернет-решениях, как объединить или добавить дополнительную строку в файл с использованием HttpPostedFileBase.

Например, я получаю этот файл изображения, используя HttpPostedFileBase :

 hello.jpg
  

Я хочу объединить строку:

 hello00001.jpg
  

Это поможет мне предотвратить загрузку изображений с тем же именем на мой сервер с помощью ASP.NET MVC.

Это мой код, такой простой:

 HttpPostedFileBase archivo = Request.Files["Image"];
if (archivo != null amp;amp; archivo.ContentLength > 0)
   {
      var path = Path.Combine(Server.MapPath("~/Images"), Path.GetFileName(archivo.FileName));
       archivo.SaveAs(path);

    }
  

Я попробовал это:

 var path = Path.Combine(Server.MapPath("~/Images"), Path.GetFileName(archivo.FileName)   "00001");
  

Но дает мне это:

 hello.jpg00001
  

также пробовал это:

 archivo.SaveAs(path   "00001");
  

также дает мне это:

 hello.jpg00001
       
  

Моя проблема выглядит так просто, но я не могу понять, как это сделать.

Комментарии:

1. Есть Path.GetFileNameWithoutExtension и Path.getExtension

Ответ №1:

Вы можете попробовать это;

 fileName = System.IO.Path.GetFileNameWithoutExtension(file.FileName); // hello
fileName ="00001";
fileExtension = System.IO.Path.GetExtension(file.FileName); // jpg

string path = System.IO.Path.Combine(System.Web.Hosting.HostingEnvironment.MapPath("~/Uploads"), $"{fileName}{fileExtension}"); // ~/Uploads/hello00001.jpg


file.SaveAs(path);