As KR mentioned in comments, Server.MapPath expects a virtual path. So you would not keep calling it over and over on the same string.
string FileName = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
string Fp = "~/images/" + FileName;
string FilePath = Server.MapPath(Fp);
FileUpload1.SaveAs(FilePath);