ASP.NET实现文件上传功能

本文实例为大家分享了ASP.NET实现文件上传功能的具体代码,供大家参考,具体内容如下

1、搭建网站结构

2、编写网页文件

创建一个Web窗体UploadFile和UpFile文件夹,UploadFile包含UploadFile.aspx和UploadFile.aspx.cs两个文件,源代码如下:

[UploadFile.aspx]

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UploadFile.aspx.cs" Inherits="WebForrmDemo.UploadFile" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>     <title></title> </head> <body>     <form id="form1" runat="server">         <div>             请选择要上传的文件:<asp:FileUpload ID="fileup" runat="server" />             <asp:Button ID="btnUpload" runat="server" Text="开始上传"  OnClick="btnUpload_Click"/>             <br />             <asp:Literal ID="lblMsg" runat="server"></asp:Literal>         </div>     </form> </body> </html>

[UploadFile.aspx.cs]

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration; namespace WebForrmDemo {     public partial class UploadFile : System.Web.UI.Page     {         protected void Page_Load(object sender, EventArgs e)         {         }         protected void btnUpload_Click(object sender, EventArgs e)         {             //【1】判断文件是否存在             if (fileup.HasFile)             {                 //【2】获取文件的大小,判断是否符合设置要求                 //1mb=1024kb                 //1kb=1024byte                 double fileLength=fileup.FileContent.Length / (1024.0 * 1024.0);                 //获取配置文件中上传文件大小的限制                 double limitLength = Convert.ToDouble(ConfigurationManager.AppSettings["fileMaxLength"])/1024.0;                 if (fileLength>limitLength)                 {                     lblMsg.Text = $"上传文件不能超过{limitLength}MB";                     return;                 }                 //【3】获取文件名,判断文件扩展名是否符合要求                 string fileName = fileup.FileName;                 //判断文件是否是exe文件,则不能上传                 if (fileName.Substring(fileName.LastIndexOf(".")).ToLower()==".exe")                 {                     lblMsg.Text = "不能上传应用程序";                     return;                 }                 //【4】修改文件名称                 //一般情况下,上传的文件服务器中保存时不会采取原文件名,因为客户端用户是非常庞大的,所以要保证每个客户端上传的文件不能被覆盖                 fileName = DateTime.Now.ToString("yyyyMMddhhmmssms") + "_" + fileName;                 //【5】获取服务器中存储文件的路径                 //"~"代表应用程序的根目录,从服务器的根目录寻找                 string path = Server.MapPath("~/UPFile");                 //【6】上传文件                 try                 {                     fileup.SaveAs(path+"/"+fileName);                     lblMsg.Text = "文件上传成功!";                 }                 catch (Exception ex)                 {                     lblMsg.Text = $"文件上传失败:{ex.Message}";                 }             }         }     } }

3.在Web.config加入下面代码:

<appSettings>     <!--配置上传文件最大字节数为30mb:单位kb-->     <add key="fileMaxLength" value="30720"/>   </appSettings>   <system.web>     <!--httpRuntime中可以设置请求的最大字节数-->     <httpRuntime targetFramework="4.6.1" maxRequestLength="40960"/> </system.web>

4、运行测试

(1) 点击选择文件

(2) 确定好文件

(3)点击上传,显示文件上传成功。

(4)在程序的目录下面可以看到刚才上传的文件

推荐阅读

    asp中文图片验证码的实现代码

    asp中文图片验证码的实现代码,,这个代码是在别人的增加对汉字的基础功能,谢谢你,谢谢轻烟。 以前的图片验证代码很容易破解,所以在目前的基础

    1.Netty 概述

    1.Netty 概述,协议,高性能,原生 NIO 存在的问题NIO 的类库和 API 繁杂, 使用麻烦: 需要熟练掌握 Selector, ServerSocketChannel, SocketC

    ctnet需要打开吗|CTNET什么意思

    ctnet需要打开吗|CTNET什么意思,,1. ctnet需要打开吗1、打开手机设置,选择网络和连接,点击移动网络。2、选择接入点名称(APN)进入之后选择中国

    联通uninet设置|联通接入点uninet

    联通uninet设置|联通接入点uninet,,1. 联通接入点uninet设置如下,手机不同,对应的菜单不同,楼主要自己找找。:第一步:在菜单(功能表)-工具-设置-

    net设置在哪里|.net设置

    net设置在哪里|.net设置,,net设置在哪里联通3gnet接入点参数设置如下:名称:中国联通3G设置;接入点名称:3gnet;代理:空白;端口:空白;用户名:空白;密码: