if (file != null)
{
string path = Server.MapPath("~/Uploads/"); //获得服务器物理路径
if (!System.IO.Directory.Exists(path))//判断目录是否存在
{
System.IO.Directory.CreateDirectory(path);//创建目录
}
file.SaveAs(path + System.IO.Path.GetFileName(file.FileName)); //获得文件名和扩展名
}
if (file.ContentLength > 0)//获取上传文件的大小,以字节为单位
{
string FileName = System.IO.Path.GetFileName(file.FileName);//返回文件名+扩展名
string path = System.IO.Path.Combine(Server.MapPath("/bin"), file.FileName); //将两个字符串组合成一个路径
file.SaveAs(path);
}
[HttpPost]
public ActionResult Index(IEnumerable<HttpPostedFileBase> files) //接收多个文件
{
foreach (var file in files)
{
if (file.ContentLength > 0)
{
var fileName = System.IO.Path.GetFileName(file.FileName);
var path = System.IO.Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
}
}
return RedirectToAction("Index");
}
<div>
@*上传单个文件*@
<form action="/Home/UpdateFile2" enctype="multipart/form-data" method="post" id="form1">
<input type="file" name="file" /><!--只能选择单个文件--->
<input type="button" name="Submit" id="Submit" value="Upload" />
</form>
@*上传多个文件*@
<form action="/Home/UpdateFile1" enctype="multipart/form-data" method="post">
<input type="file" name="img" multiple="multiple" /> <!--可选择多个文件-->
</form>
</div>
public ActionResult Upload(HttpPostedFileBase[] fileToUpload)
{
foreach (HttpPostedFileBase file in fileToUpload)
{
string path = System.IO.Path.Combine(Server.MapPath("~/App_Data"), System.IO.Path.GetFileName(file.FileName));
file.SaveAs(path);
}
ViewBag.Message = "File(s) uploaded successfully";
return RedirectToAction("Index");
}
[HttpPost]
public bool UploadFiles()
{
// 文件数为0证明上传不成功
if (Request.Files.Count == 0)
{
throw new Exception("请选择上传文件!");
}
string uploadPath = Server.MapPath("../UploadFiles/");
// 如果UploadFiles文件夹不存在则先创建
if (!System.IO.Directory.Exists(uploadPath))
{
System.IO.Directory.CreateDirectory(uploadPath);
}
// 保存文件到UploadFiles文件夹
for (int i = 0; i < Request.Files.Count; ++i)
{
HttpPostedFileBase file = Request.Files[i];
// 文件名为空证明没有选择上传文件
if (file.FileName == "")
{
return false;
}
string filePath = uploadPath + System.IO.Path.GetFileName(file.FileName);
string fileName = file.FileName;
// 检查上传文件的类型是否合法
string fileExtension = System.IO.Path.GetExtension(filePath).ToLower();
string fileFilter = System.Configuration.ConfigurationManager.AppSettings["FileFilter"];
if (fileFilter.IndexOf(fileExtension) <= -1)
{
Response.Write("对不起!请上传图片!!");
return false;
}
// 如果服务器上已经存在该文件则要修改文件名与其储存路径
while (System.IO.File.Exists(filePath))
{
Random rand = new Random();
fileName = rand.Next().ToString() + "-" + file.FileName;
filePath = uploadPath + System.IO.Path.GetFileName(fileName);
}
// 把文件的存储路径保存起来
//SaveUploadFileInfo(fileName, filePath);
// 保存文件到服务器
file.SaveAs(filePath);
}
return true;
}
<appSettings>
...
<add key="FileFilter" value=".gif|.jpg|.jpeg|.png|" />
...
</appSettings>