上传图片,显示,并且把图片信息存储到数据库表中9.17

对于美食模块的图片上传,今天我主要增加了上传图片显示部分,在这里把图片上传与信息保存进行了分离,
主要利用了label控件,增添了两个label,一个button用来上传,一个image(id为dismc)控件用来显示图片,
一个label(id为mappath)控件用来显示上传图片的物理路径,一个label(id为mcphoto)控件用来记录上传
图片的虚拟路径。该值传给数据库表中的QiaomenPhoto这一项。也传给image控件的文件地址。
顺便把文件格式的判断也加进来了,这样,这部分上传图片就比较完整了。可惜我现在还不会封装。
具体代码如下所示:
protected void upload_Click(object sender, EventArgs e)
    {
        //这里的上传利用的MSDN上面的经典上传
        Boolean fileok = false;//用来判断上传文件格式
        //返回与Web服务器上指定的虚拟路径相对应的物理文件路径
        string path = Server.MapPath("~/MeiShi/");
        if (photoupload.HasFile)  //该控件是否包含文件的判断
        {
            //取上传文件的扩展名,并将其转化为小写
            string fileExtensions = System.IO.Path.GetExtension(photoupload.FileName).ToLower();
            //定义图片扩展名的数组
            string[] allowedExtension ={ ".jpeg", ".jpg", ".bmp", ".gif", ".tiff", ".exif", ".png", ".icon" };
            for (int i = 0; i < allowedExtension.Length; i++)//图片格式判断
            {
                if (fileExtensions == allowedExtension[i])
                {
                    fileok = true;
                }
            }
            if (fileok)//上传的是图片
            {
                //图片重命名,这一段应该是可以简写的,可是目前只能做到这个地步
                string sfilename = photoupload.PostedFile.FileName;
                sfilename = sfilename.Substring(sfilename.IndexOf("."));//取文件扩展名
                Random rannumber = new Random();//实例化一个随机数
                DateTime timenow = DateTime.Now;
                string time = timenow.ToString();
                time = time.Replace(":", "");//去掉时间格式中的:、-以及空格
                time = time.Replace("-", "");
                time = time.Replace(" ", "");
                //图片重命名=当前时间+四位随机数+图片扩展名
                sfilename = time + rannumber.Next(1000, 9999) + sfilename;
                string wpath = "MeiShi/" + sfilename;//把图片放在该文件夹中
                try
                {
                    //保存上传文件的内容,存放在该目录下面
                    photoupload.PostedFile.SaveAs(path + sfilename);
                    success.Text = "上传图片成功!";
                    mappath.Text = photoupload.PostedFile.FileName;//取上传文件的完整路径
                    dismc.ImageUrl = wpath;//显示上传图片
                    mcphoto.Text = wpath;//该信息用来插入数据库
                }
                catch (System.Exception exe)
                {
                    success.Text = "上传图片失败!";
                }
            }
        }
        else
        {
            success.Text = "不能上传该类型的图片!";
        }
    }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值