一、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>
点到为止
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· 软件产品开发中常见的10个问题及处理方法
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· MQ 如何保证数据一致性?
· 《HelloGitHub》第 108 期