• 如何设置个人头像


     为自己的项目添加一个简单的用户头像是不是显得很有趣啊

    运行效果

    完成起来其实也很简单

    先给服务器添加一个 pic 文件夹用来存放图片

    一.前端设计

    1.需要一个上传文件的控件FileUpload

    2.一个上传按钮Button

    3.一个图片按钮ImageButton

    4.一个容器Panel(包含2和3)

    先隐藏容器.直到图片点击事件被触发才显示。

    二.后台设计

    1.上传文件事件

    需要限制格式以及大小

    当然图片的命名重复这里没有考虑(用时间加原名在一定程度上可以解决)

     protected void btnupload_Click(object sender, EventArgs e)
            {
                Boolean fileOk = false;
                //指定文件路径,pic是项目下的一个文件夹;~表示当前网页所在的文件夹
                String path = Server.MapPath("~/pic/");//物理文件路径
                int length = this.FileUpload1.PostedFile.ContentLength;//获取图片大小,以字节为单位
                if (length > 6000)
                {
                    Response.Write("<script language='javascript'>alert('您选择的图片过大!');</script>");
                }
                else
                {
                    //文件上传控件中如果已经包含文件
                    if (FileUpload1.HasFile)
                    {
                        //得到文件的后缀
                        String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
    
                        //允许文件的后缀
                        String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg", ".bmp" };
    
                        //看包含的文件是否是被允许的文件的后缀
                        for (int i = 0; i < allowedExtensions.Length; i++)
                        {
                            if (fileExtension == allowedExtensions[i])
                            {
                                fileOk = true;
                            }
                        }
                    }
                    if (fileOk)
                    {
                        try
                        {
                            //文件另存在服务器的指定目录下     
                            string name = FileUpload1.FileName;//获取上传的文件名
                            path = "~/pic/" + name;
                            DataCom.comdata("update **** set 路径='" + path + "' where 用户名='" +txtnae.Text + "'");//保存文件路径数据到数据库
                            Image1.ImageUrl = path;
                            FileUpload1.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path));
                            Response.Write("<script>alert('文件上传成功!');</script>");
                        }
                        catch
                        {
                            Response.Write("<script>alert('文件上传失败!');</script>");
                        }
                    }
                    else
                    {
                        Response.Write("<script>alert('只能上传gif,png,jpeg,jpg,bmp图象文件!');</script>");
                    }
                }
            }

    运行效果

    三.把图片的路径和名称保存到数据库中

    把图片保存在服务器上

    如果服务器上的图片出现命名重复,可能会造成图片丢失

    四.最好把该头像放在用户控件当中。

    可以大大的减少代码

  • 相关阅读:
    《leetcode42接雨水》
    《84. 柱状图中最大的矩形》
    [bzoj1565][NOI2009]植物大战僵尸
    [bzoj1497][NOI2006]最大获利
    [洛谷P4092][HEOI2016/TJOI2016]树
    [洛谷P3760][TJOI2017]异或和
    [洛谷P3758][TJOI2017]可乐
    [洛谷P3761][TJOI2017]城市
    [Uva11134]Fabled Rooks
    又是一年叶落时
  • 原文地址:https://www.cnblogs.com/blogs-qq2685054765/p/6063965.html
Copyright © 2020-2023  润新知