本文共 3082 字,大约阅读时间需要 10 分钟。
FileUpload控件
属性:
FileName: 获取上传的文件名
HasFile: 是否选择(存在)上传的文件
ContentLength: 获得上窜文件的大小,单位是字节(byte)
方法:
Server.MapPath(): 获取服务器上的物理路径
SaveAs(): 保存文件到指定的文件夹
注意:默认情况下限制上传文件大小为4MB,通过web.config.comments(这个设置是全局的配置)可以修改其默认设置
或者通过修改web.config文件来改变应用程序上传限制.
如:
- <httpRuntime maxRequestLength="10240" executionTimeout="150" enable="true"/>
元素解释:maxRequestLength: 设置上传文件大小,单位是kb.
executionTimeout: 允许执行请求的最大秒数,此功能必须在Compilation元素中Debug属性为false时才生效.
enable: 指定是否在当前的节点及子节点级别启用应用程序域 (AppDomain),以接受传入的请求。如果为 False,则实际上关闭了该应用程序。默认值为 True.
通俗的说就是:是否允许用户访问该网站(是否允许Http请求)
注意:如果上传文件超过maxRequestLength大小,会出现页面无法显示的情况.
如:
检查文件上传类型:
1).客户端检查(javascript实现)
2).服务器端检查
示例:
界面参考:
javascript:
- function checkType(){
-
-
- var fileName=document.getElementById("FileUpLoad1").value;
-
-
- var seat=fileName.lastIndexOf(".");
-
-
- var extension=fileName.substring(seat).toLowerCase();
-
-
-
-
-
-
-
-
-
- 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
.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:
-
- protected void btnFileUpload_Click(object sender, EventArgs e)
- {
-
- if (FileUpLoad1.HasFile)
- {
-
- if (FileUpLoad1.PostedFile.ContentLength < 10485760)
- {
- try
- {
-
- FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/Files/")
- + FileUpLoad1.FileName);
-
-
-
-
-
-
-
-
-
- lblMessage.Text = "上传成功!";
- }
- catch (Exception ex)
- {
- lblMessage.Text = "出现异常,无法上传!";
-
- }
-
- }
- else
- {
- lblMessage.Text = "上传文件不能大于10MB!";
- }
- }
- else
- {
- lblMessage.Text = "尚未选择文件!";
- }
- }