一、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:/ ...
随机推荐
- Python获取exe文件版本
import time, datetime, re, subprocess, sys, os, win32net, win32api, win32con, win32netcon, win32secu ...
- php7 mysqli_query返回1 , 但是更新失败
HTML中忘了传id
- $nextTick
Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新. $nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextT ...
- maven构建docker镜像异常
由于没有配置ip+2375端口,导致每次跑的时候,都是连接本地的,一直会报错 [ERROR] Failed to execute goal com.spotify:docker-maven-plugi ...
- 20180708-Java修饰符
public class className{ //...} private boolean myFlag;static final double weeks = 9.5;protected stat ...
- js 和jquery
1. js 全称 javascript 是 web客户端 运行的 解释性语言.. 2. jquery 只不过是 js 封装 简化了 ajax 和 dhtml 的 一款js 框架而已. 简单来说 Jqu ...
- vue鼠标修饰符
鼠标左键事件 <div @click.left="mouseClick" style="border: solid 1px red; width:500px; he ...
- Gym 100917F Find the Length
题目链接:http://codeforces.com/gym/100917/problem/F ---------------------------------------------------- ...
- 为什么每次打出的包都是Release版本呢?
参考了:xcodebuild命令 https://www.cnblogs.com/liuluoxing/p/8622108.html 重新打个包,验证一下想法
- 【黑科技】花几分钟和孩子动手DIY,即可用手机完成全息影像!
http://baobao.sohu.com/20160902/n467277059.shtml [黑科技]花几分钟和孩子动手DIY,即可用手机完成全息影像! 杭州亲子圈2016-09-02 07:2 ...