博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET图片上传,删除
阅读量:6989 次
发布时间:2019-06-27

本文共 2978 字,大约阅读时间需要 9 分钟。

用到FileLoad控件:

//FileLoad控件
上传按钮

后台代码:

protected void Button1_Click(object sender, EventArgs e)    {        try        {            if (FileUpload1.PostedFile.FileName == "")            {                alert("请选择文件!");            }            else            {                string filepath = FileUpload1.PostedFile.FileName;                //if (!IsAllowedExtension(FileUpload1))                 //{                 //    this.lb_info.Text = "上传文件格式不正确!";                 //}                 if (IsAllowedExtension(FileUpload1) == true)                {                    string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);                    filename = Session["StuID"].ToString()+".jpg";                    string serverpath = Server.MapPath("~/examer_images/") + filename;                    FileUpload1.PostedFile.SaveAs(serverpath);                    if (isProperSize(serverpath))                    {                        alert("图像上传成功!");                    }                }                else                {                    alert("请上传图片!");                }            }        }        catch (Exception ex)        {            alert("上传发生错误!原因:" + ex.ToString());        }    }

判断文件是否为图像文件:

private  bool IsAllowedExtension(FileUpload upfile)    {        string strOldFilePath = "";        string strExtension = "";        string[] arrExtension = { ".gif", ".jpg", ".bmp", ".png" };        if (upfile.PostedFile.FileName != string.Empty)        {            strOldFilePath = upfile.PostedFile.FileName;//获得文件的完整路径名             strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));//获得文件的扩展名,如:.jpg             for (int i = 0; i < arrExtension.Length; i++)            {                if (strExtension.Equals(arrExtension[i]))                {                        return true;                }                            }                    }        return false;    }

判断图像是否符合规格:

private bool isProperSize(string filename)     {                System.Drawing.Image image2 = System.Drawing.Image.FromFile(filename);        if ((image2.Width > 441) && (image2.Height > 358))        {            image2.Dispose();            Response.Write("");            System.IO.File.Delete(filename);//删除文件            return false;        }        else        return true;    }

总结:

获取所选择的图像名称:string filepath = FileUpload1.PostedFile.FileName;

获取所要上传的目录名称:string serverpath = Server.MapPath("~/examer_images/") + filename;//本程序文件夹上一级目录

Server获取路径规则如下:

1、Server.MapPath("/")

注:获得应用程序根目录所在的位置,如 C:\Inetpub\wwwroot\。
2、Server.MapPath("./")
注:获得所在页面的当前目录,等价于Server.MapPath("")。
3、Server.MapPath("../")
注:获得所在页面的上级目录。
4、Server.MapPath("~/")
注:获得当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置,如C:\Inetpub\wwwroot\Example\。

eg:

string filename=Server.MapPath("./") + @"\Web.config";   

string filename=Server.MapPath("./") + "/Web.config";   
string filename=Server.MapPath("") + @"\Web.config"  

System.IO.File.Delete(filename);//删除文件

 

转载地址:http://fewvl.baihongyu.com/

你可能感兴趣的文章