浏览 64160 次
锁定老帖子 主题:Asp.Net文件上传之简单文件上传(上)
精华帖 (0) :: 良好帖 (3) :: 新手帖 (8) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-10
最后修改:2009-05-22
FileUpload控件
属性:
方法:
注意:默认情况下限制上传文件大小为4MB,通过web.config.comments(这个设置是全局的配置)可以修改其默认设置
如: <httpRuntime maxRequestLength="10240" executionTimeout="150" enable="true"/>
executionTimeout: 允许执行请求的最大秒数,此功能必须在Compilation元素中Debug属性为false时才生效.
enable: 指定是否在当前的节点及子节点级别启用应用程序域 (AppDomain),以接受传入的请求。如果为 False,则实际上关闭了该应用程序。默认值为 True.
注意:如果上传文件超过maxRequestLength大小,会出现页面无法显示的情况.
如:
检查文件上传类型:
示例:
界面参考: javascript:
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 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:
//文件上传按钮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 = "尚未选择文件!"; } }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-07-28
if(!(allowed[i]!=extension)){
return true; } 这代码写的... |
|
返回顶楼 | |
发表时间:2009-12-19
楼主在考虑真和假的时候,喜欢多转几个弯弯
|
|
返回顶楼 | |
发表时间:2009-12-23
上写的还是很详细的,
但是不支持大文件上传。 怎么没有(下)? 期待下。。。。。。 |
|
返回顶楼 | |