Asp.Net WebForm 图片上传及物理路径的得到


【得到物理路径】

1.在类中获取物理路径:

System.Web.HttpContext.Current.Server.MapPath("");
[注意:要引用程序集System.Web]

2.在webform的Page_Load方法中获取如下: 
1)Request.MapPath() 
2)Server.MapPath();




【图片上传】
一、不用控件,在WebForm中实现
1.前台
注意:上传时
里面的enctype要改为:"multipart/form-data"

	
	

2.后台
生成新文件名:Guid.NewGuid().ToString()+"原始文件名";
#region 1.接收图片 和 保存图片
//1.0 验证是否有文件
HttpPostedFile uploadFile = null;
if (Request.Files.Count <= 0)
{
	js = "alert('请选择要上传的图片!')";
}
else
{
	//1.1 获取上传上来的 文件
	uploadFile = Request.Files[0];
	//1.2 验证是否有文件(因为有时 Request.Files.Count 属性验证不了)
	if (uploadFile.FileName == null || uploadFile.FileName == "")
	{
		js = "alert('请选择要上传的图片!')";
	}
	//1.3 验证是否是图片
	else if (!uploadFile.ContentType.Contains("image/"))
	{
		js = "alert('只能上传图片!')";
	}
	//1.4验证图片大小(不能 小于2KB或者大于4M)
	else if (uploadFile.ContentLength <= 2 || uploadFile.ContentLength > 4 * 1024 * 1024)
	{
		js = "alert('图片太小或太大(2KB~4M)!')";
	}
	else
	{
		//1.5 生成 新的图片名
		string strNewImgName = FileHelper.NewFileName(uploadFile.FileName);
		Picture = strNewImgName;//重新赋值
		//1.6 保存新图片
		uploadFile.SaveAs(Server.MapPath("/commodity/" + strNewImgName));
	}
} 
#endregion



二、用控件,在WebForm中实现
1.前台

2.后台
string fileName = FileUpload1.FileName;
string imgPath = "/image/" + fileName;
string path = Server.MapPath("") + imgPath;
FileUpload1.SaveAs(path);















你可能感兴趣的:(ASP.NET相关,c#,asp.net,webform,图片)