- 浏览: 603614 次
- 性别:
- 来自: 卡哇伊
文章分类
- 全部博客 (299)
- C# (25)
- Java (1)
- WinForm (0)
- Asp.Net (86)
- Jsp (2)
- Php (1)
- Web Service (0)
- Desgin Patterns (19)
- Data Structure & Algorithms (1)
- SQLserver (41)
- Mysql (0)
- Oracle (2)
- Javascript (50)
- Ajax (10)
- Jquery (1)
- Flex (0)
- Regular Expression (5)
- DIV+CSS+XHTML+XML (18)
- Software Test (0)
- Linux (0)
- Utility (17)
- Net Digest (4)
- windows 2003 (10)
- Other (4)
- English (1)
- IT Term (1)
最新评论
-
w497480098h:
学习了 很好谢谢
SQL Server下无限多级别分类查询解决办法(简单查询树形结构数据库表) -
main_fun:
确实不错
iframe自适应高度 -
jveqi:
...
DBA -
mxcie:
其它版本没有确认,今天使用vs2003时,其.sln文件也需要 ...
彻底删除项目的VSS源代码管理信息 -
moneyprosper:
就只有IE支持,火狐和谷歌都不支持此种方法。正在寻找中。。。
从父页面读取和操作iframe中内容方法
固定数量的多文件上传:
界面参考:
//单击执行多文件上传 protected void btnFileUpload_Click(object sender, EventArgs e) { //判断是否存在上传文件 /*bool flag = false; ; bool[] b = { FileUpload1.HasFile, FileUpload2.HasFile, FileUpload3.HasFile }; foreach (bool item in b) { if (item) { flag = true; } }*/ //判断是否存在上传文件 if (!FileUpload1.HasFile && !FileUpload2.HasFile && !FileUpload3.HasFile) { lblMessage.Text = "至少选择一个上传的文件!"; } else { /*提供对客户端上载文件的访问,并组织这些文件,它是一个文件的集合. Request.Files获取客户端上载文件的集合*/ HttpFileCollection filecoll = Request.Files; //循环上传文件的集合,并上传每一个文件 for (int i = 0; i < filecoll.Count; i++) { /*得到上传的单个文件, * 通过HttpPostedFile实例来处理单个上传文件的访问*/ HttpPostedFile myfile = filecoll[i]; //得到上传文件大小判断文件是否存在 if (myfile.ContentLength > 0) { if (myfile.ContentLength < 10485760) { try { //得到上传的文件名 myfile.SaveAs(Page.MapPath("~/Files/") + myfile.FileName.Substring(myfile.FileName.LastIndexOf(@"\") + 1)); //这里得到上传文件名的方式还可以是: /* myfile.SaveAs(Page.MapPath("~/Files/") + System.IO.Path.GetFileName(myfile.FileName));*/ lblMessage.Text = "文件上传成功!"; } catch (Exception) { lblMessage.Text = "上传文件发生错误!"; } } else { lblMessage.Text = "上传文件不能大于10MB"; } } } } }
动态的添加多文件上传:
1.服务器端实现(动态添加FileUpload控件)
2.客户端实现(javascript)
服务器端实现(动态添加FileUpload控件)示例:
界面参考:
/*设置添加FileUpLoad控件的个数, 保存FileUpload控件的个数也可以用Session实现*/ private int Count { get { return Convert.ToInt32(ViewState["count"]); } set { ViewState["count"] = value; } } protected void Page_Load(object sender, EventArgs e) { //设置添加FileUpLoad控件的个数初始值为:0; if (!IsPostBack) { ViewState["count"] = 0; } } //创建FileUpLoad控件 private void CreateOrDeleteFileUpload(int count) { FileUpload fileupload = null; //遍历创建FileUpload for (int i = 0; i < count; i++) { fileupload = new FileUpload(); //设置FileUpload的Id fileupload.ID = "fileupLoad" + i.ToString(); //将FileUpload添加到Panel控件中 Panel1.Controls.Add(fileupload); } } //点击添加上传控件 protected void btnAddUpload_Click(object sender, EventArgs e) { CreateOrDeleteFileUpload(++Count); } //点击添加更新控件 protected void btnDeleteFileUpload_Click(object sender, EventArgs e) { CreateOrDeleteFileUpload(--Count); } //点击上传 protected void btnUpload_Click(object sender, EventArgs e) { HttpFileCollection fileColl = Request.Files; for (int i = 0; i < fileColl.Count; i++) { HttpPostedFile gpf = fileColl[i]; if (gpf.ContentLength > 0) { try { gpf.SaveAs(Page.MapPath("~/Files/") + gpf.FileName.Substring(gpf.FileName.LastIndexOf(@"\") + 1)); lblMessage.Text = "上传文件成功!"; } catch (Exception) { lblMessage.Text = "文件上传发生错误!"; } } } }
客户端实现(javascript)示例:
推荐使用客户端方式,因为服务端方式每次点击删除按钮都会向服务器提交一次.
<body> <!--HTML的文件上传控件上传需要修改enctype属性--> <form id="form1" runat="server" enctype="multipart/form-data"> <div> <div id="panel"> </div> <input type="hidden" value="1" id="filecount" /> <input type="button" value="添加上传组件" onclick="javascript:AddFileUpLoad();" /> <asp:Button ID="btnUpLoad" runat="server" onclick="btnUpLoad_Click" Text="文件上传" /> <asp:Label ID="lblMessage" runat="server"></asp:Label> </div> </form> </body>
<script type="text/javascript"> //添加上传控件 function AddFileUpLoad(){ //得到上传文件控件的文件名. var name="file"+document.form1.filecount.value; //设置隐藏表单域的值加1,下次得到上传控件的名字就不会相同 document.form1.filecount.value=parseInt(document.form1.filecount.value)+1; /*在id为panel的div元素的标签结束之前添加上传控件和删除按钮 <button onclick='javascirpt:removeFile(this);'>删除</button> 删除按钮把当前对象传给删除上传控件的函数 */ panel.insertAdjacentHTML("beforeEnd","<div><input type='file' name="+name +"><button onclick='javascirpt:removeFile(this);'>删除</button></div>"); } //删除控件 function removeFile(obj){ //得到该对象的父节点元素然后删除该父节点 obj.parentElement.removeNode(true); } </script>
//单击上传文件 protected void btnUpLoad_Click(object sender, EventArgs e) { HttpFileCollection fileColl = Request.Files; for (int i = 0; i < fileColl.Count; i++) { HttpPostedFile gpf = fileColl[i]; if (gpf.ContentLength > 0) { try { gpf.SaveAs(Page.MapPath("~/Files/") + gpf.FileName.Substring(gpf.FileName.LastIndexOf(@"\") + 1)); lblMessage.Text = "上传文件成功!"; } catch (Exception) { lblMessage.Text = "文件上传发生错误!"; } } } }
JS实现带图片预览功能的FileUpload控件
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default6.aspx.cs" Inherits="Default6" %> <!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> <script type="text/javascript"> var timeOut; function previewImage(upload){ //判断选择的文件是否为空 if(!upload||!upload.value){ return; } //验证是否是以.jpg等后缀名结尾 var extend=/\.jpg$|\.jpeg$|\.gif$/i; if(extend.test(upload.value)){ var img=document.getElementById("img"); if(img){ clearTimeout(timeOut); img.src='file://localhost/'+upload.value; img.style.display="block"; //设置5秒后图片隐藏 timeOut=setTimeout("hidden()",5000); }else{ clearTimeout(timeOut); var img=document.createElement("img"); img.setAttribute('src','file://localhost/'+upload.value); img.setAttribute("width",'120'); img.setAttribute('height','90'); img.setAttribute('id','img'); document.getElementById('form1').appendChild(img); timeOut=setTimeout("hidden()",5000); } }else{ alert("你似乎选择的不是图像文件"); } } //隐藏图片 function hidden(){ clearTimeout(timeOut); var img=document.getElementById("img"); if(img){ img.style.display="none"; } } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" onchange="javascript:previewImage(this);" /> <asp:Button ID="Button1" runat="server" Text="上传" /> </div> </form> </body> </html>
发表评论
-
JS操作RadioButtonList
2009-12-16 23:25 3858function IsUpPic() { ... -
asp.net跳转页面的三种方法比较
2009-10-22 14:16 25061.Response.redir ... -
ASP.NET网站中的安全问题
2009-10-20 16:57 1165在网络经常看到网站被 ... -
新闻内容页分页的简单做法
2009-10-10 10:08 1201该例子只是提供了基本思路 很简单的做法,这个是假设数 ... -
Asp.net控件开发学习笔记(二)-控件开发基础
2009-10-03 16:49 1318接上篇…….. 看System.Web.UI.Ht ... -
Asp.net控件开发学习笔记-控件开发基础(一)
2009-10-03 16:33 1221服务器控件开发基础 当开发一个服务器控件时,首 ... -
Asp.net用户退出,清空Session,重定向登陆页面
2009-09-28 16:22 4132protected void Page_Load(object ... -
frameset中的aspx无法Postback
2009-09-28 16:07 1469<frameset cols="150,*&q ... -
.net页面定时刷新的几种简单方式
2009-09-28 11:20 58871: window.setTimeout("win ... -
动态添加TextBox
2009-09-21 16:30 1655方法1: 前台代码: <f ... -
浅谈ASP.NET管道优化
2009-09-20 21:43 982ASP.NET管道优化 位于请求管道中的很多ASP.NET默 ... -
Asp.net 页面返回到上一页面
2009-09-20 21:20 879/// <summary> / ... -
PrecompiledApp.config文件和Global.asax 文件中的事件的关联
2009-09-19 10:24 2746在用Microsoft Visual Studio 2005开 ... -
gridview列 数字、货币和日期 显示格式
2009-09-11 17:05 1514在设置gridview等数据绑定控件的模版列时,总要 ... -
ASP.NET 打开新窗口几种方法
2009-09-09 21:44 3296ASP.NET打开新窗口方法一: Response ... -
response.addHeader("Content-Disposition","attachment; filename="+filename)中的中文乱码
2009-08-31 15:10 3180两种解决方法 1.如果web.config里utf-8 直接S ... -
技巧和诀窍:如何在VS 2005 SP1中使用VS的web服务器运行一个相对于根目录“/”的网站
2009-08-31 08:29 842大家常有一个疑问,是 ... -
Request.ServerVariables详细说明及代理
2009-08-14 10:46 2071ServerVariables是环境变量的集合。允许读取HTT ... -
DataList和Repeat无数据时提示暂无数据几种方法
2009-08-11 18:45 25431.放一个label DataTable table ... -
Asp.Net中清空所有textbox的几种方法
2009-08-08 08:53 5156用反射: FieldInfo[] info ...
相关推荐
基于jquery.form插件写的ASP.NET文件批量上传。
Asp.NET 文件上传下载 Asp.NET 文件上传下载 Asp.NET 文件上传下载 Asp.NET 文件上传下载
自己做的asp.net文件上传示例 代码比较简单 vs2005打开直接F5运行 各位可以根据自己的需求做一些修改
ASP.NET多文件上传 ASP.NET多文件上传 ASP.NET多文件上传 ASP.NET多文件上传
asp.net文件上传带进度条 文件上传 ajax文件上传
asp.net+ajax 实现的多文件上传, 支持文件单独和批量上传,单个和批量移除
asp.net自定义固定格式多文件批量上传
asp.net上传 多文件上传 批量上传 上传代码 上载asp.net上传 多文件上传 批量上传 上传代码 上载asp.net上传 多文件上传 批量上传 上传代码 上载asp.net上传 多文件上传 批量上传 上传代码 上载asp.net上传 多文件...
asp.net 文件上传demo 框架3.5 flash与.net相结合实现文件上传功能 支持 大文件上传 文件批量上传
Asp.net同时上传多个文件Asp.net同时上传多个文件Asp.net同时上传多个文件Asp.net同时上传多个文件
asp.net同时上传多个文件
asp.net文件上传源码 uploadpic_zpfj.aspx uploadpic_zpfj.aspx.cs
基于ASP.NET文件上传、下载的网络硬盘系统 源码
各种注视用户体验的程序出现,比如带进度条的文件上传,看了网上很多资料还没找到真正意义上的ASP.NET实现进度条上传.Ajax 文件上传进度条,ASP.NET 文件上传进度条示例,ASP.NET 文件上传,asp.net文件上传,ajax文件...
asp.net文件上传下载程序 有数据库 下载可用 很好的程序 精心制作
本文讲的是Asp.Net中FileUpload实现文件上传示例, 属性:FileName: 获取上传的文件名 HasFile: 是否选择(存在)上传的文件 ContentLength: 获得上窜文件的大小,单位是字节(byte) 方法:Server.MapPath(): 获取服务器上
ASP.NET同时上传多个文件 asp.net 1.1 c#
asp.net 多文件上传组件及实例asp.net 多文件上传组件及实例asp.net 多文件上传组件及实例asp.net 多文件上传组件及实例
觉得不错,但是有个不足的地方,就是当我上传一个文件时把页面关闭的时候 这个文件其实还在上传着!