亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

2014-07-23利用ASP.NET自帶控件實現單文件上傳與下載

2019-11-14 16:33:04
字體:
來源:轉載
供稿:網友
效果圖

上傳文件頁面:




下載文件頁面:
 




1、母版頁site.Master
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="upAndDown.SiteMaster" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <link href="~/Styles/Site.CSS" rel="stylesheet" type="text/css" />
    <asp:ContentPlaceHolder ID="HeadContent" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form runat="server">
    <div class="page">
        <div class="header">
            <div class="title">
                <h1>
                    我的 asp.net 應用程序之-多文件上傳+超大附件上傳
                </h1>
            </div>
            <div class="loginDisplay">
                -by Leon</div>
            <div class="clear hideSk
                <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" 
                    EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal" 
                   >
                    <Items>
                        <asp:MenuItem NavigateUrl="~/Default.aspx" Text="上傳"/>
                        <asp:MenuItem NavigateUrl="~/Download.aspx" Text="下載"/>
                    </Items>
                </asp:Menu>
            </div>
        </div>
        <div class="main">
            <asp:ContentPlaceHolder ID="MainContent" runat="server"/>
        </div>
        <div class="clear">
        </div>
    </div>
    <div class="footer">
        
    </div>
    </form>
</body>
</html>
 

2、Default.aspx 上傳頁面
<%@ Page Title="文件上傳與下載" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="upAndDown._Default" %>
 
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <h2>
        上傳文件到服務器</h2>
<h2>
        <asp:FileUpload ID="FileUpload1" runat="server" />
    </h2>
<p>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="上傳" style="margin-left:170px;" />
    </p>
</asp:Content>


3、Default.aspx.cs 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace upAndDown
{
    public partial class _Default : System.Web.UI.Page
    {
        PRotected void Page_Load(object sender, EventArgs e)
        {
 
        }
 
        public Boolean UpLoad(string path, FileUpload fileupload) 
        {
            bool fileOK = false;
            if(fileupload.HasFile)
            {
                string fileException = System.IO.Path.GetExtension(fileupload.FileName).ToLower();
                
                //上傳文件的格式
                string[] allowedException = {".xls",".doc",".mp3",".rar",".zip",".vsd",".txt",".jpg",".gif",".bmp"
                                            ,".png",".swf",".avi",".mp3",".rm",".wma",".wmv",".exe"};
                for (int i = 0; i < allowedException.Length;i++ ) 
                {
                    if (fileException == allowedException[i]) 
                        fileOK = true;  //返回成功標識
                }
            }
            if (fileOK)     //判斷上傳的文件是否在指定的格式范圍之內
            {
                //判斷文件是否存在,如不存在則創建路徑
                if (System.IO.Directory.Exists(path))
                {
                    //該目錄存在,則將上傳的文件保存在該目錄當中
                }
                else
                {
                    System.IO.Directory.CreateDirectory(path);      //創建文件路徑
                }
                fileupload.SaveAs(path + "http://" + fileupload.FileName.Trim().Replace(" ",""));   //去掉文件名字符空格,執行文件上傳操作
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "name", "<script>alert('文件上傳成功!')</script>");
            }
            else 
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert('hehh')", "<script>alert('不支持此格式文件上傳!')</script>");
            }
            return fileOK;
        }
 
        protected void Button1_Click(object sender, EventArgs e)
        {
            string FilePath = "";
            //是否有上傳文件
            if (this.FileUpload1.FileName != null && this.FileUpload1.FileName != "")
            {
                if (FileUpload1.PostedFile.ContentLength <= 0)
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert('hehh')", "<script>alert('上傳文件為空文件,請重新選擇!')</script>"); 
                    return;
                }
                else
                { 
                    if (this.FileUpload1.HasFile)
                    {
                        if (FileUpload1.PostedFile.ContentLength > 524288000)
                        {
                            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "scriptName", "<script>alert('上傳文件過大!')</script>"); 
                            return;
                        }
                        else
                        {
                            FilePath = Server.MapPath("/Images"); //設置服務器路徑
                        }
 
                        UpLoad(FilePath, this.FileUpload1);//調用UpLoad()函數上傳文件
                       
                    }
                }
            }
 
            //如果上傳文件錯誤,則返回操作
            else 
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "name", "<script>alert('文件為空,請先選擇要上傳的文件!')</script>"); 
                return;
            }
 
        }
 
    }
}

4、Download.aspx 下載頁面

<%@ Page Title="文件下載" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Download.aspx.cs" Inherits="upAndDown.Download" %>
 
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <h2 style="font-size: xx-large">
        從服務器上下載文件</h2>
    <p>
        <asp:ListBox ID="ListBox1" runat="server" Height="249px"  Width="541px">
        </asp:ListBox>
    </p>
    <embed style="filter: xray()" src="Images/GEM.mp3" width="188" height="68" type="audio/mp3"
                                                                loop="true" showstatusbar="true" autostart="true"/>
    <p>
        <asp:Button ID="Button1" runat="server" Font-Bold="True" Font-Size="Small" Font-Strikeout="False" Text="下載" onclick="Button1_Click" />
    </p>
</asp:Content>
 
5、Download.aspx.cs  
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace upAndDown
{
    public partial class Download : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            { 
                //頁面加載時,獲取下載文件的存放目錄
                string strfilepath = Server.MapPath("~/Images/");
                //創建目錄對象
                DirectoryInfo dir = new DirectoryInfo(strfilepath);
                //獲得該目錄下的所有文件
                FileSystemInfo[] files = dir.GetFileSystemInfos();
                //講遍歷的文件名稱顯示在ListBox控件中
                ListItem items;
                foreach (FileSystemInfo infofiles in files) 
                {
                    items = new ListItem();        //聲明一個ListItem對象
                    items.Text = infofiles.Name;
                    items.Value = infofiles.FullName;
                    ListBox1.Items.Add(items);     //向ListBox控件中添加數據信息
                }
            }
        }
 
 
 
        //<summary>
        //文件下載函數
        //</summary>
        //author Leon
        //<param name="fileURL">要下載文件所在的路徑</param>
        protected Boolean DownLoad(string fileURL)
        {
            Boolean Dok = false;
            try
            {
                string FullPathURL = Server.MapPath(fileURL);//獲取文件下載路徑
                System.IO.FileInfo file = new System.IO.FileInfo(FullPathURL);
                if (file.Exists)        //判斷要下載的文件是否存在
                {
                    Response.Clear();       //清空response對象中的內容
                    //*修改前的做法
                    Response.AddHeader("Content-Disposition", "attachment;filename=" + file.Name);
                    //*修改后的做法
                    Response.AddHeader("Content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(file.Name));
                    Response.AddHeader("Content-Length", file.Length.ToString());
                    Response.ContentType = "application/octet-stream";
                    Response.WriteFile(FullPathURL);      //通過對Response對象執行下載文件的操作
                    Response.End();     //結束Response對象
                    Response.Flush();       //刷新Response對象
                    Response.Clear();       //清空response對象中的內容
                    Dok = true;
                }
                else
                {
                    this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"success","<script>alert('文件不存在!')</script>");
                }
 
            }
            catch (Exception)
            {
                this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "success", "<script>alert('文件不存在!')</script>");
            }
            return Dok;
        }
 
        protected void Button1_Click(object sender, EventArgs e)
        {
            //獲取下載文件的路徑
            string downfiles;
            try
            {
                downfiles = "Images/" + ListBox1.SelectedItem.Text;
                DownLoad(downfiles);
            }
            catch (Exception)
            {
                this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "success", "<script>alert('選擇文件為空,請先選擇要下載的文件!')</script>");
            }
        }
    }
}
 

注:ASP.NET框架默認最大上傳文件為4M,如果要修改框架默認最大上傳文件大小, 需要到C:/Windows/Microsoft.NET/Framework/v4.0.30319/Config文件夾中修改machine.config文件,在<system.web> 標簽中加入或修改<httpRuntime maxRequestLength="4096000"/>的值。





發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线视频网| 欧美在线亚洲一区| xxxx性欧美| 亚洲精品久久久一区二区三区| 国产丝袜精品第一页| 欧美日韩国产一中文字不卡| 久久这里只有精品视频首页| 成人xxxxx| 国产精品99蜜臀久久不卡二区| 久久精品青青大伊人av| 日韩有码在线播放| 狠狠色狠色综合曰曰| 69av在线视频| 欧美野外wwwxxx| 91美女福利视频高清| 欧美黑人一区二区三区| 在线电影欧美日韩一区二区私密| 精品在线欧美视频| 成人在线观看视频网站| 日韩免费观看在线观看| 欧美性资源免费| 欧美日韩一区二区三区| 国产欧美韩国高清| 欧美日韩一区二区三区在线免费观看| 2019最新中文字幕| 欧美电影在线观看网站| 色伦专区97中文字幕| 国产精品久久网| 日韩亚洲欧美中文高清在线| 国产伊人精品在线| 久久免费国产精品1| 国产网站欧美日韩免费精品在线观看| 日韩中文字幕视频| 久久综合久久八八| 国产精品入口免费视频一| 国产精品日韩专区| 欧美成人sm免费视频| 国内精品久久久久影院 日本资源| 久久精品一本久久99精品| 亚洲精品99999| 欧美性猛交xxxx黑人猛交| 日韩av毛片网| 亚洲精品视频久久| 性色av一区二区三区免费| 欧美性极品xxxx做受| 永久免费看mv网站入口亚洲| 亚洲激情视频网| 亚洲免费一级电影| 亚洲国产成人精品久久久国产成人一区| 亚洲综合中文字幕在线观看| 欧美性xxxx| 国产精品老女人精品视频| 黄色成人在线免费| 久热爱精品视频线路一| 亚洲激情国产精品| 日韩极品精品视频免费观看| 黑人巨大精品欧美一区二区一视频| 亚洲精品第一国产综合精品| 少妇高潮久久77777| 亚洲欧美一区二区三区情侣bbw| 亚洲最大福利视频网| 日韩在线一区二区三区免费视频| 黄色91在线观看| 欧美日本亚洲视频| 国产suv精品一区二区| 久久久久久久久久婷婷| 欧美大胆在线视频| 一本一本久久a久久精品牛牛影视| 国产精品久久久久久av下载红粉| 国产999在线观看| 日本中文字幕成人| 深夜精品寂寞黄网站在线观看| 久久久av网站| 91欧美精品成人综合在线观看| 国产日韩专区在线| 国产精品青草久久久久福利99| 高清欧美性猛交xxxx| 亚洲性猛交xxxxwww| 欧美成aaa人片在线观看蜜臀| 韩日精品中文字幕| 国产午夜精品一区二区三区| 欧美午夜精品久久久久久人妖| 精品国产区一区二区三区在线观看| 欧美肥老妇视频| 欧美洲成人男女午夜视频| 亚洲成人黄色网址| 欧美xxxx14xxxxx性爽| 欧美性猛交丰臀xxxxx网站| 中文亚洲视频在线| 亚洲免费电影一区| 欧美肥老妇视频| 亚洲免费视频一区二区| 国产性色av一区二区| 国产福利精品av综合导导航| 亚洲国产精品网站| 国产精品中文在线| 欧美大荫蒂xxx| 91色视频在线导航| 91视频九色网站| 日韩美女中文字幕| 午夜精品视频网站| 91po在线观看91精品国产性色| 久久久亚洲网站| 中文欧美日本在线资源| 亚洲性av网站| 欧美乱大交xxxxx| 日韩精品免费综合视频在线播放| 亚洲国产精品国自产拍av秋霞| 欧美黑人巨大精品一区二区| 欧美日韩国产色视频| 亚洲人在线视频| 日韩在线免费视频观看| 国产99久久久欧美黑人| 日韩av在线一区| 成人乱人伦精品视频在线观看| 久久精品国产欧美激情| 国产香蕉97碰碰久久人人| 亚洲精品在线观看www| 青青久久av北条麻妃黑人| 亚洲精品一区av在线播放| 国产精品高潮呻吟久久av黑人| 国产精品久久久久免费a∨大胸| 色久欧美在线视频观看| 欧美日韩一区二区免费在线观看| 亚洲一区二区三区sesese| 不卡在线观看电视剧完整版| 欧美日韩成人黄色| 欧美一级大片视频| 88国产精品欧美一区二区三区| 热久久免费国产视频| 欧美一区亚洲一区| 97视频在线观看网址| 日本在线精品视频| 国产盗摄xxxx视频xxx69| 久久久久久久久久久网站| 精品成人69xx.xyz| 中文字幕亚洲一区在线观看| 日韩hd视频在线观看| 中文字幕日韩有码| 久久久999国产精品| 日韩av资源在线播放| 欧美日韩中文字幕在线视频| 久久久久久久久久久人体| 91理论片午午论夜理片久久| 午夜精品久久久久久久99黑人| 国产综合在线视频| 91av在线视频观看| 91美女片黄在线观| 久久久精品电影| 日韩色av导航| 日韩专区在线播放| 亚洲97在线观看| 黑人巨大精品欧美一区二区三区| 日韩av免费在线播放| 91高清视频在线免费观看| 国内精品久久久久久中文字幕| 亚洲乱码av中文一区二区| 亚洲韩国青草视频| 欧美亚洲第一区| 在线丨暗呦小u女国产精品| 久久亚洲精品中文字幕冲田杏梨| 热99精品里视频精品| 国产亚洲欧洲高清一区| 91中文在线观看|