侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

upload上传单张图片

技术  /  管理员 发布于 7年前   106

通过Upload上传单张图片,具体实现方式请看代码。 

protected void btnpic_upload_Click(object sender, EventArgs e)  {    #region 上传文件   Boolean fileOk = false;   if (pic_upload.HasFile)//验证是否包含文件   {    //取得文件的扩展名,并转换成小写    string fileExtension = Path.GetExtension(pic_upload.FileName).ToLower();    //验证上传文件是否图片格式    fileOk = IsImage(fileExtension);    if (fileOk)    {     //对上传文件的大小进行检测,限定文件最大不超过8M     if (pic_upload.PostedFile.ContentLength < 8192000)     {      string filepath = "~/Admin/I_Institution/Images/";      if (Directory.Exists(Server.MapPath(filepath)) == false)//如果不存在就创建file文件夹      {       Directory.CreateDirectory(Server.MapPath(filepath));      }      string virpath = filepath + CreatePasswordHash(pic_upload.FileName, 4) + fileExtension;//这是存到服务器上的虚拟路径      string mappath = Server.MapPath(virpath);//转换成服务器上的物理路径      pic.Visible = true;      pic_upload.PostedFile.SaveAs(mappath);//保存图片      //显示图片      pic.ImageUrl = virpath;      lbl_pic.Visible = true;      //清空提示      lbl_pic.Text = "上传成功";     }     else     {      pic.Visible = false;      lbl_pic.Visible = true;      pic.ImageUrl = "";      lbl_pic.Text = "文件大小超出8M!请重新选择!";     }    }    else    {     lbl_pic.Visible = false;     pic.ImageUrl = "";     lbl_pic.Text = "要上传的文件类型不对!请重新选择!";    }   }   else   {    lbl_pic.Visible = false;    pic.ImageUrl = "";    lbl_pic.Text = "请选择要上传的图片!";   }   #endregion  }  /// <summary>  /// 验证是否指定的图片格式  /// </summary>  /// <param name="str"></param>  /// <returns></returns>  public bool IsImage(string str)  {   bool isimage = false;   string thestr = str.ToLower();   //限定只能上传jpg和gif图片   string[] allowExtension = { ".jpg", ".gif", ".bmp", ".png" };   //对上传的文件的类型进行一个个匹对   for (int i = 0; i < allowExtension.Length; i++)   {    if (thestr == allowExtension[i])    {     isimage = true;     break;    }   }   return isimage;  }  /// <summary>  /// 创建一个指定长度的随机salt值  /// </summary>  public string CreateSalt(int saltLenght)  {   //生成一个加密的随机数   RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();   byte[] buff = new byte[saltLenght];   rng.GetBytes(buff);   //返回一个Base64随机数的字符串   return Convert.ToBase64String(buff);  }  /// <summary>  /// 返回加密后的字符串  /// </summary>  public string CreatePasswordHash(string pwd, int saltLenght)  {   string strSalt = CreateSalt(saltLenght);   //把密码和Salt连起来   string saltAndPwd = String.Concat(pwd, strSalt);   //对密码进行哈希   string hashenPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(saltAndPwd, "sha1");   //转为小写字符并截取前16个字符串   hashenPwd = hashenPwd.ToLower().Substring(0, 16);   //返回哈希后的值   return hashenPwd;  }

 拿到上传后的图片路径:    
      

复制代码 代码如下:

string IconUrl = this.pic.ImageUrl.Trim();
       model.IconUrl = Path.GetFileName(IconUrl);         //获得已上传 图片控件的URL

   前台代码:

tr>      <td height="25" width="30%" align="right">       机构图标路径 :      </td>      <td height="25" width="*" align="left">       <asp:Image ID="pic" runat="server" Width="200px" Visible="False" /><br />       <asp:FileUpload ID="pic_upload" runat="server" />       <asp:Button ID="btnpic_upload" runat="server" Text="图片开始上传" OnClick="btnpic_upload_Click" /><br />       <asp:Label ID="lbl_pic" runat="server" Text="" Visible="False"></asp:Label>      </td>     </tr>

以上代码就是upload上传单张图片的全部代码,希望大家喜欢。


  • 上一条:
    管理员登录设计(第7节)
    下一条:
    获取App.config配置文件中的参数值
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 2024.07.09日OpenAI将终止对中国等国家和地区API服务(0个评论)
    • 2024/6/9最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(0个评论)
    • 国外服务器实现api.openai.com反代nginx配置(0个评论)
    • 2024/4/28最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2017-09
    • 2018-01
    • 2018-07
    • 2018-08
    • 2018-09
    • 2018-12
    • 2019-01
    • 2019-02
    • 2019-03
    • 2019-04
    • 2019-05
    • 2019-06
    • 2019-07
    • 2019-08
    • 2019-09
    • 2019-10
    • 2019-11
    • 2019-12
    • 2020-01
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-12
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-02
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客