Проверьте имя файла из HttpHostedFileBase это имя файла или путь к файлу

Я разрабатываю приложение, которое хранит имя файла в базе данных. Для Mozilla & Chrome он показывает только FileName, но в IE он показывает полный путь к файлу. Теперь я хочу проверить, является ли данное имя файла именем файла или пути к файлу. Есть ли способ сделать это?

Вот мой код:

public ActionResult Save(IEnumerable<HttpPostedFileBase> attachments)
{
  byte[] image = null;
  var file = attachments.First();
  // Some browsers send file names with full path. We only care about the file name.
  string filePath = Server.MapPath(General.FaxFolder + "/" + file.FileName);
  file.SaveAs(filePath);
  FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
  using (BinaryReader br = new BinaryReader(fs))
  {
    image = br.ReadBytes((int)fs.Length);
  }
  TempData["Image"] = image;
  System.IO.File.Delete(filePath);            
  return Json(new { status = "OK", imageString = Convert.ToBase64String(image) }, "text/plain");
}

2 ответа

Решение

Ну, если вы идете с получением имени файла только в любом браузере, то вы должны написать

Path.GetFileName(e.fileName);

Он вернет имя файла только в любом браузере. Спасибо

Вместо того, чтобы проверить, есть ли у файла путь или нет, вы можете просто использовать GetFileName(path);метод

Другие вопросы по тегам