FileUpload控件
FileUpload控件
属性:
FileName: 获取上传的文件名
HasFile: 是否选择(存在)上传的文件
ContentLength: 获得上窜文件的大小,单位是字节(byte)
方法:
Server.MapPath(): 获取服务器上的物理路径
SaveAs(): 保存文件到指定的文件夹
注意:默认情况下限制上传文件大小为4MB,通过web.config.comments(这个设置是全局的配置)可以修改其默认设置
或者通过修改web.config文件来改变应用程序上传限制.
如:
Xml代码
- <httpRuntime maxRequestLength="10240" executionTimeout="150" enable="true"/>
<httpRuntime maxRequestLength="10240" executionTimeout="150" enable="true"/>
元素解释:
maxRequestLength: 设置上传文件大小,单位是kb.
executionTimeout: 允许执行请求的最大秒数,此功能必须在Compilation元素中Debug属性为false时才生效.
enable: 指定是否在当前的节点及子节点级别启用应用程序域 (AppDomain),以接受传入的请求。如果为 False,则实际上关闭了该应用程序。默认值为 True.
通俗的说就是:是否允许用户访问该网站(是否允许Http请求)
注意:如果上传文件超过maxRequestLength大小,会出现页面无法显示的情况.
如:
检查文件上传类型:
1).客户端检查(javascript实现)
2).服务器端检查
示例:
界面参考:
javascript:
Js代码
- function checkType(){
- //得到上传文件的值
- var fileName=document.getElementById("FileUpLoad1").value;
- //返回String对象中子字符串最后出现的位置.
- var seat=fileName.lastIndexOf(".");
- //返回位于String对象中指定位置的子字符串并转换为小写.
- var extension=fileName.substring(seat).toLowerCase();
- //判断允许上传的文件格式
- //if(extension!=".jpg"&&extension!=".jpeg"&&extension!=".gif"&&extension!=".png"&&extension!=".bmp"){
- //alert("不支持"+extension+"文件的上传!");
- //return false;
- //}else{
- //return true;
- //}
- var allowed=[".jpg",".gif",".png",".bmp",".jpeg"];
- for(var i=0;i<allowed.length;i++){
- if(!(allowed[i]!=extension)){
- return true;
- }
- }
- alert("不支持"+extension+"格式");
- return false;
- }
function checkType(){
//得到上传文件的值
var fileName=document.getElementById("FileUpLoad1").value;
//返回String对象中子字符串最后出现的位置.
var seat=fileName.lastIndexOf(".");
//返回位于String对象中指定位置的子字符串并转换为小写.
var extension=fileName.substring(seat).toLowerCase();
//判断允许上传的文件格式
//if(extension!=".jpg"&&extension!=".jpeg"&&extension!=".gif"&&extension!=".png"&&extension!=".bmp"){
//alert("不支持"+extension+"文件的上传!");
//return false;
//}else{
//return true;
//}
var allowed=[".jpg",".gif",".png",".bmp",".jpeg"];
for(var i=0;i<allowed.length;i++){
if(!(allowed[i]!=extension)){
return true;
}
}
alert("不支持"+extension+"格式");
return false;
}
.aspx:
Html代码
- <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="btnFileUpload" runat="server"
- OnClick="btnFileUpload_Click" Text="文件上传"
- OnClientClick="return checkType()" />
- <asp:Label ID="lblMessage" runat="server"></asp:Label>
- </div>
- </form>
- </body>
- </html>
<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="btnFileUpload" runat="server"
OnClick="btnFileUpload_Click" Text="文件上传"
OnClientClick="return checkType()" />
<asp:Label ID="lblMessage" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
.aspx.cs:
C#代码
- //文件上传按钮click事件
- protected void btnFileUpload_Click(object sender, EventArgs e)
- {
- if (FileUpLoad1.HasFile)
- {
- //判断文件是否小于10Mb
- if (FileUpLoad1.PostedFile.ContentLength < 10485760)
- {
- try
- {
- //上传文件并指定上传目录的路径
- FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/Files/")
- + FileUpLoad1.FileName);
- /*注意->这里为什么不是:FileUpLoad1.PostedFile.FileName
- * 而是:FileUpLoad1.FileName?
- * 前者是获得客户端完整限定(客户端完整路径)名称
- * 后者FileUpLoad1.FileName只获得文件名.
- */
- //当然上传语句也可以这样写(貌似废话):
- //FileUpLoad1.SaveAs(@"D:\"+FileUpLoad1.FileName);
- lblMessage.Text = "上传成功!";
- }
- catch (Exception ex)
- {
- lblMessage.Text = "出现异常,无法上传!";
- //lblMessage.Text += ex.Message;
- }
- }
- else
- {
- lblMessage.Text = "上传文件不能大于10MB!";
- }
- }
- else
- {
- lblMessage.Text = "尚未选择文件!";
- }
- }
FileUpload控件的更多相关文章
- C# 自定义FileUpload控件
摘要:ASP.NET自带的FileUpload控件会随着浏览器的不同,显示的样式也会发生改变,很不美观,为了提高用户体验度,所以我们会去自定义FileUpload控件 实现思路:用两个Button和T ...
- FileUpload控件使用初步
FileUpload控件使用初步 FileUpload控件使用初步: 1.实现文件上传 protected void btnSubmit_click(object sender, EventArg ...
- webform FileUpload控件实例应用 上传图片
首先在根目录下建一个"images"文件: HTML: <form id="form1" runat="server"> < ...
- WebForm之FileUpload控件(文件上传)
FileUpload控件要与Button.LinkButton.ImageButton配合使用 FileUpload控件的方法及属性: 1.SaveAs("要上传到服务器的绝对路径" ...
- ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法
ASP.NET的FileUpload控件默认是不支持服务端的onchange事件的,此时可以用一种变通的方法来实现这一功能. 这就需要借用客户端的onchange事件,调用__doPostBack方法 ...
- FileUpload控件「批次上传 / 多档案同时上传」的范例--以「流水号」产生「变量名称」
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/19/multiple_fileupload_asp_net_20130819. ...
- Fileupload控件导致500错误
问题: 今天遇到一个问题,用Fileupload控件上传Excel文件,用一个button控件调用“FileUpload1.SaveAs”方法,点击按钮后出现服务器500错误.如下图: 解决方法: 在 ...
- UpdatePanel1里面使用FileUpload控件
最近做项目过程中,遇到了UpdatePanel1里面放了一个FileUpload控件,结果从后台就获取不到上传的文件了,找了好久才找到原因.原因: 加了红色部分后立马获取到了.
- Asp.net中FileUpload控件实现图片上传并带预览显示
单一图片上传——“选择”+“上传”,.NET默认模式: 1.实现原理: 采用FileUpload控件默认的使用方式,先由“选择”按钮选择图片,然后单击“上传”按钮完成上传,并可在“上传”按钮的 ...
随机推荐
- 在controller间分享数据(第一种办法)
Blood 血腥的方法 每个controller都有自己的scope, 同时也可以共享他们老爸的scope内的数据.如果我们想让两个controller共享数据的化, 有多种方法. 最直接血腥的就是在 ...
- 安装windows7和ubuntu双系统后引导项设置
win7系统,U盘安装ubuntu,在选择[安装启动引导器的设备]时,1.如果你选择的是/dev/sda,即整个硬盘,他会将启动引导器使用grub进行系统引导,而不再使用windows loader, ...
- RemoteViews的理解和使用
一.RemoteViews简介 作用:跨进程更新界面 使用场景:通知栏.桌面小部件 二.在通知栏上的应用 原理:通过RemoteViews加载布局,通过 ...
- bzoj 3224: Tyvj 1728 普通平衡树 替罪羊树
题目链接 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的 ...
- Hibernate: merge方法
在Hibernate中,有save.persist.savaOrUpdate.merge等方法有插入数据的功能.前三者理解起来较后者容易一些,merge方法从api中的介绍就看以看出它是最复杂的.下面 ...
- Vue.js实现拼图游戏
Vue.js实现拼图游戏 之前写过一篇<基于Vue.js的表格分页组件>的文章,主要介绍了Vue组件的编写方法,有兴趣的可以访问这里进行阅读:http://www.cnblogs.com/ ...
- Myeclipse 2014配置SVN详细图解
1.什么是SVN? 管理软件开发过程中的版本控制工具. 2.myeclipse安装SVN插件步骤,以myeclipse 2014为例. (1)下载SVN插件 http://subclipse.tigr ...
- android keytool 不是内部命令或外部命令在 (win7下不能用的解决方法)
android 关于MD5指纹中 keytool在win7下不能用的解决方法 只要在cmd中执行如下命令即可:注意C:\Users\Administrator\.android\debug.keyst ...
- Android之用PopupWindow实现弹出listview形式菜单
Android 4.0之前的菜单使用非常广泛,但是在android4.0之后,很少使用先前的菜单样式了.那如何实现下图的样式了? 我们简单模拟一下. (1)屏蔽系统弹出的菜单: 1.首先创建至少一个系 ...
- mini2440 uboot使用nfs方式引导内核,文件系统
mini2440 uboot使用nfs方式引导内核,文件系统 成于坚持,败于止步 看了一段时间的u-boot了,到今天才真正完全实现u-boot引导内核和文件系统,顺利开机,在此记录完整过程 1.首先 ...