zoukankan      html  css  js  c++  java
  • C#.net实现图片上传功能

    C#.NET前台:<asp:Image ID="imgFood" runat="server" />
               <asp:FileUpload ID="fileUpLoadPic" runat="server" /> 
               <asp:Button ID="Button1" runat="server" Text="上传" 
                                onclick="btnPicUpload_Click"/>
    后台.CS文件:
      protected void btnPicUpload_Click(object sender, EventArgs e)  //上传按钮
        { 
             if (fileUpLoadPic.HasFile) //文件存在
            {
                SaveFile(fileUpLoadPic.PostedFile);//保存上传文件
            }
            else
            {
                Response.Write("<script>alert('上传文件不存在!')</script>");
            }
    
            if (fileUpLoadPic.PostedFile.FileName == "")  //文件名字
            {
                Response.Write("<script>alert('你还没有选择图片!')</script>");
            }
            else
            {
                string filepath = fileUpLoadPic.PostedFile.FileName;
                string filename = filepath.Substring(filepath.LastIndexOf("\") + 1);//第一个转义字符
                Session["filename"] = filename;
                string fileEx = filepath.Substring(filepath.LastIndexOf(".") + 1);//从.开始截至最后得到图片格式.jpg。。。
                string serverpath = Server.MapPath("\images\") + filename; 
                if (fileEx == "jpg" || fileEx == "bmp" || fileEx == "gif")
                {
                    imgFood.ImageUrl = "images/" + filename;
                    Response.Write("<script>alert('上传成功!')</script>");
                    return;
                }
                else
                {
                    Response.Write("<script>alert('上传的格式有问题!')</script>");
                    return;
                }
            }
        }
     public void SaveFile(HttpPostedFile file)
        {
            string savePath = "C:\Users\DJJ\Desktop\School_Canteen2\Web\images\";
            string fileName = fileUpLoadPic.FileName;
    
            string pathToCheck = savePath + fileName;
            string tempfilename = "";
            if (System.IO.File.Exists(pathToCheck))
            {
                int counter = 2;
                while (System.IO.File.Exists(pathToCheck))
                {
                    tempfilename = counter.ToString() + fileName;
                    pathToCheck = savePath + tempfilename;
                    counter++;
                }
                fileName = tempfilename;
                Response.Write("<script>alert('你上传了两个相同文件!')</script>");
            } 
            savePath += fileName;
            fileUpLoadPic.SaveAs(savePath);
        }
    若前台要保存图片路径到数据库:获取路径方式 (以string数据类型保存)
      string F_Pic = Convert.ToString(Session["filename"]);//this.fileUpLoadPic.FileName;//fileUpLoadPic.AppRelativeTemplateSourceDirectory;//图片的数据库中保存图片路径
      string f_pic = F_Pic.Substring(0, F_Pic.LastIndexOf(".")); //得到去掉.jpg后的名字
    

    选择文件后,点击上传即可,上述代码虽有提示上传相同图片的功能,但还是会上传,若不想上传要做具体处理。
    
  • 相关阅读:
    将Moba的输出导出为文件
    MyBatis入参为0时失效问题
    (笔记)交大电院MEM提前面试优秀经验分享【附面试流程及规则】
    (笔记)GPIO基本原理与寄存器配置(STM32篇)
    (笔记)高速电路板完美走线的诀窍
    使用 python 收集 kubernetes events 并写入 elasticsearch
    java使用io.kubernetes.client-java调用k8s api创建pod/service/ingress示例
    中英文逗号空格分隔符正则式
    SpringCloud学习一-搭建netflix-eureka微服务集群
    Spring 中经典的 9 种设计模式,打死也要记住啊!
  • 原文地址:https://www.cnblogs.com/dingfangbo/p/5769949.html
Copyright © 2011-2022 走看看