ASP.net 通用上传图片代码

以下是本人在个人开发过程中,经常调用自己组装的一个通用上传图片的类。
代码如下:
//定义了用于保存Session会话中的数据,定义了获取文件名和文件的扩展名
string ShowSellerName;
string FileName, FileLastName;

//捕获异常
try
{
FileName = FileUpload1.FileName;//获取文件名
FileLastName = FileName.Substring(FileName.LastIndexOf(".") + 1);//得到文件的扩展名

ShowSellerName = System.Web.HttpContext.Current.Session["SellerName"].ToString().Trim();//把会话中的名称保存起来

Random R = new Random();//创建产生随机数
int val = 10 + R.Next(99);//产生随机数为99以内任意
string sc = val.ToString();//产生随机数

string FileTime = DateTime.Now.ToString("yyyyMMddHHmmss") + sc;//得到系统时间(格式化)并加上随机数以便生成上传图片名称
string UploadFileName = FileTime + "." + FileLastName;//产生上传图片的名称

string UD = ShowSellerName;//创建用户的文件夹的名字

string Parth = System.Web.HttpContext.Current.Server.MapPath("ProductsImages").ToString() + "//" + UD + "//";//创建虚拟路径


if (!Directory.Exists(Parth)) //如果文件夹不存在则创建
{
//捕获异常
try
{
Directory.CreateDirectory(Parth);//创建文件夹与用户名同名

//判断FileUpload组件是否存在内容
if (FileUpload1.HasFile)
{
FileUpload1.PostedFile.SaveAs(Parth + UploadFileName);//上传图片(自定义)

string User_ProductsImageUrl = "ProductsImages/" + UD + "/" + UploadFileName;//得到服务端图片的虚拟路径

System.Web.HttpContext.Current.Session["GoodsImageUrl"] = User_ProductsImageUrl;//保存获得的图片虚拟路径进行跨页面间的传递

}
else
{
//显示出错信息
System.Web.HttpContext.Current.Response.Redirect("~/Tips/Error.aspx");
}

}
catch (IOException e)
{
//显示出错信息
System.Web.HttpContext.Current.Response.Redirect("~/Tips/Error.aspx");
}
}
else
{
//判断FileUpload组件是否存在内容
if (FileUpload1.HasFile)
{
FileUpload1.PostedFile.SaveAs(Parth + UploadFileName);//上传图片(自定义)

string User_ProductsImageUrl = "ProductsImages/" + UD + "/" + UploadFileName;//得到服务端图片的虚拟路径

System.Web.HttpContext.Current.Session["ImageUrl"] = User_ProductsImageUrl;//保存获得的图片虚拟路径进行跨页面间的传递
}
else
{
//显示出错信息
System.Web.HttpContext.Current.Response.Redirect("~/Tips/Error.aspx");
}
}

}
catch (Exception e3)
{
//显示出错信息
System.Web.HttpContext.Current.Response.Redirect("~/Tips/Error.aspx");
}

 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值