一、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();
string navshow = "";
if (sdr != null) //表格形式显示数据
{
try
{ foreach (DataRow mDr in sdr.Tables[].Rows)
{
navshow += "<tr>";
navshow += "<td><a href='" + mDr[].ToString() + "' target='_blank'><img src='" + mDr[].ToString() + "' width='100' /></a></td>";
navshow += "<td>" + mDr[].ToString() + "</td>";
navshow += "<td>" + mDr[].ToString() + "</td>";
navshow += "<td align='center'>" + mDr[].ToString() + "</td>";
navshow += "<td align='center'><a href='editshow.aspx?id=" + mDr[].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 < )
{
string filepath = "/images/";
if (Directory.Exists(Server.MapPath(filepath)) == false)//如果不存在就创建file文件夹
{
Directory.CreateDirectory(Server.MapPath(filepath));
}
string virpath = filepath + CreatePasswordHash(pic_upload.FileName, ) + 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 = ; 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(, );
//返回哈希后的值
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="data: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>
一、WebFrom 图片上传的更多相关文章
- Asp.Net Mvc 使用WebUploader 多图片上传
来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...
- 06.LoT.UI 前后台通用框架分解系列之——浮夸的图片上传
LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...
- JS图片上传预览插件制作(兼容到IE6)
其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...
- HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术
最近做项目在前端我使用了很多新技术,这些技术有bootstrap.angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头,写写文章可以很好的 ...
- 对百度的UEditor多图片上传的一些补充
我已经写了一篇文章关于百度的UEditor提取多图片上传模块.如果还没有看过,请点击以下链接查看 http://www.cnblogs.com/luke1006/p/3719029.html 出差了两 ...
- 使用localResizeIMG3+WebAPI实现手机端图片上传
前言 惯例~惯例~昨天发表的使用OWIN作为WebAPI的宿主..嗯..有很多人问..是不是缺少了什么 - - 好吧,如果你要把OWIN寄宿在其他的地方...代码如下: namespace Conso ...
- TinyMCE的使用(包括汉化及本地图片上传功能)
TinyMCE我就不多介绍了,这是下载地址:https://www.tinymce.com/download/ 下载下来是英文版,要汉化也很简单.首先去网上随便下载个汉化包,然后把汉化包解压后的lan ...
- 包含修改字体,图片上传等功能的文本输入框-Bootstrap
通过jQuery Bootstrap小插件,框任何一个div转换变成一个富文本编辑框,主要特色: 在Mac和window平台下自动针对常用操作绑定热键 可以拖拽插入图片,支持图片上传(也可以获取移动设 ...
- PHP多图片上传实例demo
upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
随机推荐
- git本地创建一个分支并上传到远程服务器上
git branch 查看分支 新建分支:git checkout -b dev 把新建的本地分支push到远程服务器 git push origin 本地名字:外地名字 删除远程分支 git pus ...
- 阿里云弹性裸金属服务器-神龙架构(X-Dragon)揭秘
在5月16日的飞天技术会新品直播中,特别邀请了业界知名大咖狒哥以及阿里云虚拟化资深专家旭卿作为现场直播的嘉宾.本次直播主要从产品背景到“X-Dragon架构”,从硬件设备到软件应用来深度的剖析“X-D ...
- MVC 无法将带 [] 的索引应用于“System.Dynamic.DynamicObject”类型的表达式
无法将带 [] 的索引应用于“System.Dynamic.DynamicObject”类型的表达式 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代 ...
- 20180907-Java Applet基础
Java Applet基础 applet是一种Java程序.它一般运行在支持Java的Web浏览器内.因为它有完整的Java API支持,所以applet是一个全功能的Java应用程序. 如下所示是独 ...
- Nginx 禁止IP访问 只允许域名访问
今天要在Nginx上设置禁止通过IP访问服务器,只能通过域名访问,这样做是为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,从网络上搜到以下解决方案: Nginx的默认虚拟主机在用户 ...
- String 类的常用方法
format 是String类的一个非常有用的静态函数,可以将各类数据格式化为字符串并输出.其中format参数指定了输出的格式 toCharArray方法可以将字符串转为字符数组 getBytes方 ...
- django缓存优化(一)
在配置之前,先介绍一个实用的工具: 当我们进入虚拟环境,在shell中进行操作的时候,往往要导入django的各种配置文件: from django.x import xxxx 这时我们可以借助dja ...
- “美登杯”上海市高校大学生程序设计 E. 小花梨的数组 (线段树)
https://acm.ecnu.edu.cn/contest/173/problem/E/ 分析: 考虑这样一种情况,如果对一个点连续地做几次乘操作,那么之后紧跟着的除操作只需要将乘操作的次数减少即 ...
- win7系统开机启动出现蓝屏,提示BAD_SYSTEM_CONFIG_INFO
因为我在msconfig->引导->高级选项中将最大内存勾选,最大内存勾选后是4096MB,但是在点击确定按钮后,会自动变成0MB(点击确定按钮后再点击高级选项),导致系统无法识别内存,开 ...
- scau 1079 三角形(暴力)
</pre>1079 三角形</h1></center><p align="center" style="margin-top: ...