• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > upload上传单张图片

upload上传单张图片

作者:我_爱编程 字体:[增加 减小] 来源:互联网 时间:2017-05-11

我_爱编程通过本文主要向大家介绍了fileupload上传图片,smartupload上传图片,fileupload上传文件,ajaxfileupload上传,fileupload上传等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

通过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;
  }

</div>

 拿到上传后的图片路径:    
       string IconUrl = this.pic.ImageUrl.Trim();
       model.IconUrl = Path.GetFileName(IconUrl);         //获得已上传 图片控件的URL
</div>
   前台代码:

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>
</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • upload上传单张图片

相关文章

  • 2017-05-11asp.net Accee数据库连接不稳定解决方案
  • 2017-05-11ASP.NET web.config中 数据库连接字符串加密解密
  • 2017-05-11ASP.NET中CKEditor与CKFinder的配置使用
  • 2017-05-11asp.net下实现URL重写技术的代码
  • 2017-05-11ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表
  • 2017-05-11asp.net(c#) RSS功能实现代码
  • 2017-05-11asp.net计算一串数字中每个数字出现的次数
  • 2017-05-11ASP.Net不执行问题一解
  • 2017-05-11asp.net获取URL和IP地址的方法汇总
  • 2017-05-11在ASP.NET 2.0中操作数据之五十:为GridView控件添加Checkbox

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • .Net Core学习教程之在Mvc中简单的使用日志组件
    • Visual Studio 2015安装步骤详解
    • Asp.net 时间操作基类(支持短日期,长日期,时间差)
    • Repeater绑定dictionary数据源代码及报错解决
    • asp.net 包含文件的方法
    • Asp.net操作Excel更轻松的实现代码
    • ASP.NET基于Ajax的Enter键提交问题分析
    • ASP.NET如何获取两个日期之间的天数
    • 基于asp.net实现图片在线上传并在线裁剪功能
    • ASP.NET Core Web App应用第三方Bootstrap模板的方法教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有