第一种方法:
利用web.config的配置文件项, 进行设置;
前端aspx示例:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="sendOutEmail.aspx.cs" Inherits="sendOutEmail" %> <!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 ><title>文件上传</title> </head> <body><form id="form1" runat="server"><div><table ><tr><td ><asp:FileUpload ID="FileUp" runat="server" Width="456px" style="border: 1px solid red" Height="21px"/></td></tr><tr><td><asp:Button ID="BtnSend" runat="server" OnClick="ImgBtnSend_Click" Text="提交" /> <asp:Button ID="Btnchongzhi" runat="server" Text="重置" CausesValidation="False" onclick="Btnchongzhi_Click" /><asp:Label ID="LblMessage" runat="server" ForeColor="Red" Width="88px" /></td></tr></table></div></form> </body> </html>
后端cs文件的部分内容:
protected void ImgBtnSend_Click(object sender, EventArgs e){string filepath = FileUp.PostedFile.FileName; //获取客户端上传文件的文件的路径,即FileUpload控件文本框中的所有内容//FileUp.FileName 只获取上传文件的文件名string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);string serverpath = Server.MapPath("~/") + filename; //返回服务器上与指定虚拟路径对应的物理路径FileUp.PostedFile.SaveAs(serverpath);//将文件保存到服务器上LblMessage.Text = "恭喜您!文件上传成功!";}
web.config文件中的部分内容
<system.web> <!--设置上传文件的最大 大小 为4M, 超时时间为100秒--><httpRuntime maxRequestLength="4096" executionTimeout="100"/> </system.web>
第二种方法: 通过编程的形式限制上传文件的大小, 这里将其显示为1MB为例;前端代码不变, 后端稍加修改
protected void Button1_Click(object sender, EventArgs e){//获取客户端上传文件的文件的路径,即FileUpload控件文本框中的所有内容string filepath = FileUp.PostedFile.FileName;//FileUp.FileName 只获取上传文件的文件名string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);if (FileUp.PostedFile.ContentLength > 1024000){LblMessage.Text = "文件大小不能超过1MB!";}else{//返回服务器上与指定虚拟路径对应的物理路径string serverpath = Server.MapPath("~/") + filename;FileUp.PostedFile.SaveAs(serverpath);LblMessage.Text = "恭喜您!文件上传成功!";}}
注: 上传文件时, 有时浏览器会报如下错误, 没有关系, 清空下缓存或者换个浏览器就好了