zoukankan      html  css  js  c++  java
  • 一、WebFrom 图片上传

     一、代码实现了简单的图片上传功能(改一下也可以上传其他的),没有做图片大小和格式的判断,主要是熟悉fileupload控件

    前台代码:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="WebApplication2.WebForm3" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:FileUpload ID="FileUpload1" runat="server" /><br />
            <asp:Button ID="Button1" runat="server" Text="上传" OnClick="Button1_Click" />
            <asp:Label ID="Label1" runat="server" Text=""></asp:Label> 
            <br />
            <asp:Image ID="Image1" runat="server" visible="false"  />
            <br />
        </div>
        </form>
    </body>
    </html>

    后台代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
     
    namespace WebApplication2
    {
        public partial class WebForm3 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
     
            }
            protected void Button1_Click(object sender, EventArgs e)
            {
                if (FileUpload1.HasFile) //判断是否上传了文件
                {
                    string savePath = Server.MapPath("~/upload/");//指定上传文件在服务器上的保存路径
                    //检查服务器上是否存在这个物理路径,如果不存在,则创建
                    if (!System.IO.Directory.Exists(savePath))
                    {
                        //对该路径应该有足够的权限,否则报错
                        System.IO.Directory.CreateDirectory(savePath);
                    }
                        savePath = savePath + "\" + FileUpload1.FileName;
                        FileUpload1.SaveAs(savePath); //保存文件
                        Label1.Text = string.Format("<a href='upload/{0}'>upload/{0}</a>", FileUpload1.FileName);
                        Image1.Visible = true;
                    Image1.ImageUrl = "~/upload/" + FileUpload1.FileName;
                }
     
                }
            }
        }

     

    二、图片上传

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Security.Cryptography;
    using System.Web.Security;
    using System.IO;
    using System.Data.SqlClient;
    using System.Data;
    
    namespace Demo.Web
    {
        public partial class show : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            { 
            }
             public string  SlideShow()
            {
                BLL.slide Slide = new BLL.slide();
                DataSet sdr = Slide.GetList(5);
                string navshow = "";
                if (sdr != null)  //表格形式显示数据
                {
                    try
                    {
     
                        foreach (DataRow mDr in sdr.Tables[0].Rows)
                        {
                            navshow += "<tr>";
                            navshow += "<td><a href='" + mDr[3].ToString() + "' target='_blank'><img src='" + mDr[4].ToString() + "' width='100' /></a></td>";
                            navshow += "<td>" + mDr[1].ToString() + "</td>";
                            navshow += "<td>" + mDr[3].ToString() + "</td>";
                            navshow += "<td align='center'>" + mDr[2].ToString() + "</td>";
                            navshow += "<td align='center'><a href='editshow.aspx?id=" + mDr[0].ToString() + "'>编辑</a> | <a href='delshow.aspxid=1'>删除</a></td>";
                            navshow += "</tr>";
                        }
    
    
                    }
                    catch (SqlException ex)
                    {
                        Response.Write(ex.ToString());
                    }
                    finally
                    {
    
                        ;
                    }
    
                }
                return navshow;
               
            }
    
            protected void submit_Click(object sender, EventArgs e)
            {
                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 = "/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_upload.PostedFile.SaveAs(mappath);//保存图片
                            //显示图片
                            pic.ImageUrl = virpath;
                            //清空提示
                            lbl_pic.Text = "上传图片成功!";//上传图片成功
                            //下面是添加图片的整体信息
                            string slidename = SlideName.Text;
                            string slideimg = pic.ImageUrl;
                            string slideurl = SlideUrl.Text;
                            string slidddescrition = SlideSort.Text;
                            Model.slide ModeSlide = new Model.slide();
                            ModeSlide.title = slidename;
                            ModeSlide.img = pic.ImageUrl;
                            ModeSlide.url = slideurl;
                            ModeSlide.descrition = slidddescrition;
                            BLL.slide Slide = new BLL.slide();
                  
                            if (Convert.ToBoolean(Slide.Add(ModeSlide)))
                            {
                                Response.Write("<script>alert('完整的添加图片成功!')</script>");                       
                            }
                            else
                            {
                                Response.Write("<script>alert('失败!')</script>");
                            }
    
                        }
                        else
                        {
                            pic.ImageUrl = "";
                            lbl_pic.Text = "文件大小超出8M!请重新选择!";
                        }
                    }
                    else
                    {
                        pic.ImageUrl = "";
                        lbl_pic.Text = "要上传的文件类型不对!请重新选择!";
                    }
                }
                else
                {
                    pic.ImageUrl = "";
                    lbl_pic.Text = "请选择要上传的图片!";
                }
    
    
    
    
    
            }
    
            /// <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;
            }
        }
    }

    html

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="show.aspx.cs" Inherits="Demo.Web.show" %>
    
    <!DOCTYPE aspx PUBLIC "-//W3C//DTD Xaspx 1.0 Transitional//EN" "http://www.w3.org/TR/xaspx1/DTD/xaspx1-transitional.dtd">
    <aspx xmlns="http://www.w3.org/1999/xaspx">
    <head runat="server">
       <meta http-equiv="Content-Type" content="text/aspx; charset=UTF-8">
    <title>Douaspx 管理中心 - 首页幻灯广告 </title>
    <meta name="Copyright" content="Douco Design." />
    <link href="css/public.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/global.js"></script>
    <style>
        #div_pic
        {
            width: 40%;
            height: 40%;
            margin-bottom: 5%;
        }
        #div_pic img
        {
            width: 100%;
            height: auto;
        }
        .style2
        {
            width: 227px;
        }
        .style3
        {
            width: 112px;
        }
        .style5
        {
            width: 125px;
        }
        .style6
        {
            width: 138px;
        }
    </style>
    </head>
    <body>
        <form id="form1" runat="server">
    <div id="dcWrap">
     <div id="dcHead">
     <div id="head">
      <div class="logo"><a href="index.aspx"><img src="images/dclogo.gif" alt="logo"></a></div>
      <div class="nav">
       <ul>
        <li class="M"><a href="JavaScript:void(0);" class="topAdd">新建</a>
         <div class="drop mTopad"><a href="product.aspx?rec=add">商品</a> <a href="article.aspx?rec=add">文章</a> <a href="nav.aspx?rec=add">自定义导航</a> <a href="show.aspx">首页幻灯</a> <a href="page.aspx?rec=add">单页面</a> <a href="manager.aspx?rec=add">管理员</a> <a href="link.aspx"></a> </div>
        </li>
        <li><a href="../index.aspx" target="_blank">查看站点</a></li>
        <li><a href="index.aspx?rec=clear_cache">清除缓存</a></li>
        <li><a href="http://help.douco.com" target="_blank">帮助</a></li>
        <li class="noRight"><a href="module.aspx">Douaspx+</a></li>
       </ul>
       <ul class="navRight">
        <li class="M noLeft"><a href="JavaScript:void(0);">您好,admin</a>
         <div class="drop mUser">
          <a href="manager.aspx?rec=edit&id=1">编辑我的个人资料</a>
          <a href="manager.aspx?rec=cloud_account">设置云账户</a>
         </div>
        </li>
        <li class="noRight"><a href="login.aspx?rec=logout">退出</a></li>
       </ul>
      </div>
     </div>
    </div>
    <!-- dcHead 结束 --> <div id="dcLeft"><div id="menu">
     <ul class="top">
      <li><a href="index.aspx"><i class="home"></i><em>管理首页</em></a></li>
     </ul>
     <ul>
      <li><a href="system.aspx"><i class="system"></i><em>系统设置</em></a></li>
      <li><a href="nav.aspx"><i class="nav"></i><em>自定义导航栏</em></a></li>
      <li class="cur"><a href="show.aspx"><i class="show"></i><em>首页幻灯广告</em></a></li>
      <li><a href="page.aspx"><i class="page"></i><em>单页面管理</em></a></li>
     </ul>
      
      <ul>
      <li><a href="article_category.aspx"><i class="articleCat"></i><em>文章分类</em></a></li>
      <li><a href="article.aspx"><i class="article"></i><em>文章列表</em></a></li>
     </ul>
       <ul class="bot">
      <li><a href="backup.aspx"><i class="backup"></i><em>数据备份</em></a></li>
      <li><a href="mobile.aspx"><i class="mobile"></i><em>手机版</em></a></li>
      <li><a href="theme.aspx"><i class="theme"></i><em>设置模板</em></a></li>
      <li><a href="manager.aspx"><i class="manager"></i><em>网站管理员</em></a></li>
      <li><a href="manager.aspx?rec=manager_log"><i class="managerLog"></i><em>操作记录</em></a></li>
     </ul>
    </div></div>
     <div id="dcMain">
       <!-- 当前位置 -->
    <div id="urHere">Douaspx 管理中心<b>></b><strong>首页幻灯广告</strong> </div>   <div class="mainBox imgModule">
        <h3>首页幻灯广告</h3>
        <table width="100%" border="0" cellpadding="8" cellspacing="0" class="tableBasic">
        <tr>
           <th>添加幻灯</th>
           <th>幻灯列表</th>
         </tr>
         <tr>
          <td width="350" valign="top">
           <form action="show.aspx?rec=insert" method="post" enctype="multipart/form-data">
            <table width="100%" border="0" cellpadding="8" cellspacing="0" class="tableOnebor">
             <tr>
              <td><b>幻灯名称</b>
    <asp:TextBox ID="SlideName" size="20" class="inpMain"  runat="server"></asp:TextBox>
           
              </td>
             </tr>
             <tr>
              <td><b>幻灯图片</b>
              <div id="preview">
        
     </div>  
     
       
     <div id="div_pic"><asp:Image ID="pic" runat="server" 
             ImageUrl="~/Images/photo_icon.png" /></div>
    
     <asp:FileUpload ID="pic_upload" runat="server" /><asp:Label ID="lbl_pic" runat="server" class="pic_text"></asp:Label>
    
    
    
                      </td>
             
    
             </tr>
             <tr>
              <td><b>链接地址</b>
                <asp:TextBox  name="show_link" value="" size="40" class="inpMain" runat="server" 
                      ID="SlideUrl"></asp:TextBox>
              </td>
             </tr>
             <tr>
              <td><b>描述</b>
            <asp:TextBox ID="SlideSort" value="简介说明" size="20" class="inpMain" runat="server"></asp:TextBox>
    
              </td>
             </tr>
             <tr>
              <td>
                 <input type="hidden" name="token" value="79db104d" />
                <asp:Button ID="submit"  class="btn" runat="server" Text="提交" 
                      onclick="submit_Click"></asp:Button>
               
              </td>
             </tr>
            </table>
           </form>
          </td>
          <td valign="top">
           <table width="100%" border="0" cellpadding="8" cellspacing="0" class="tableOnebor">
            <tr>
             <td class="style6">幻灯片</td>
             <td class="style3">幻灯片名称</td>
             <td class="style5">跳转的链接</td>
             <td align="center" class="style2">描述</td>
             <td width="80" align="center">操作</td>
            </tr>
    
                 <%= SlideShow()%>  
                 
                   </table>
          </td>
         </tr>
        </table>
       </div>
     </div>
     <div class="clear"></div>
    <div id="dcFooter">
     <div id="footer">
      <div class="line"></div>
      <ul>
       版权所有 © 2013-2015 网络科技有限公司,并保留所有权利。
      </ul>
     </div>
    </div><!-- dcFooter 结束 -->
    <div class="clear"></div> </div>
        </form>
    </body>
    </aspx>
  • 相关阅读:
    4.8日学习
    Apache安装
    HTML5 review
    个人阅读作业LAST
    个人阅读作业Week7
    结对编程:界面模块总结
    个人博客作业Week3
    结对编程博客
    个人博客week2
    软工第一次作业简单总结
  • 原文地址:https://www.cnblogs.com/fger/p/11218504.html
Copyright © 2011-2022 走看看