Form提交时,须注意form需要添加属性enctype="multipart/form-data",否则Request.Files.Count=0,无法上传图片。
cshtml代码:
<form id="form1" name="form1" action="SavaeTopicType.aspx" method="post" enctype="multipart/form-data">
</form>
cs代码:
public bool ValidateImg(string imgName)
{
string[] imgType = new string[] { "gif", "jpg", "png", "bmp" }; int i = ;
bool blean = false;
string message = string.Empty; //判断是否为Image类型文件
while (i < imgType.Length)
{
if (imgName.Equals(imgType[i].ToString()))
{
blean = true;
break;
}
else if (i == (imgType.Length - ))
{
break;
}
else
{
i++;
}
}
return blean;
} public string upLoadImg(string fileName)
{
//上传和返回(保存到数据库中)的路径
string uppath = string.Empty;
string savepath = string.Empty;
if (Request.Files.Count > )
{
HttpPostedFileBase imgFile = Request.Files[fileName];
if (imgFile != null)
{
//创建图片新的名称
string nameImg = DateTime.Now.ToString("yyyyMMddHHmmssfff");
//获得上传图片的路径
string strPath = imgFile.FileName;
//获得上传图片的类型(后缀名)
string type = strPath.Substring(strPath.LastIndexOf(".") + ).ToLower();
if (ValidateImg(type))
{
//拼写数据库保存的相对路径字符串
savepath = "..\\UpImgs\\";
savepath += nameImg + "." + type;
//拼写上传图片的路径
uppath = Server.MapPath("~/UpImgs/");
uppath += nameImg + "." + type;
//上传图片
imgFile.SaveAs(uppath);
}
return savepath;
}
}
return "";