C# asp.net實現文件上傳

前端代碼:

使用visual studio開發實現文件上傳

前端頁面代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="scientist.WebForm1" %>

<!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 runat="server">
<script type="text/javascript">    
    var baseText = null; 
    function upOpen() {
        var xzOpen = document.getElementById("xzOpen");
        xzOpen.style.top = "200px"; //窗口距離瀏覽器內容區最上方的偏移值 
        xzOpen.style.left = "500px"; //窗口距離瀏覽器內容區最左邊的偏移值 
        xzOpen.style.width = "500px"; //窗口的寬度 
        xzOpen.style.height = "300px"; //窗口的高度
        if (baseText == null) baseText = xzOpen.innerHTML;
        xzOpen.innerHTML = baseText + "<div id=\"statusbar\"><button onclick=\"hidePopup(); \">Close window<button></div>"
        var sbar = document.getElementById("statusbar"); 
        sbar.style.marginTop = (parseInt(100)-20) + "px";
        xzOpen.style.visibility = "visible"; 
    document.getElementById("xzOpen").click();
    }
</script>
 <title>上傳文檔</title>
<style type="text/css"> 
*{ margin:0; padding:0;} 
.exDiv{}
.boxmain{float:left;margin-right:0px;width:100%;} 
.xzOpen{position: absolute; visibility: hidden; overflow: hidden; border:2px solid #CCC; background-color:	#FFCBB3; border:2px solid #333; padding:5px; }
.F1{float:left;margin-top:5px;}
.B1{float:right;margin-top:80px;}
.left{position:absolute;left:0; background:#BBFFBB;height:300px;width:20%} 
.main{margin-right:200px;background:#79FF79; height:300px;;width:100%;margin-left:auto;} 
.up{margin-right:1px;background:#984B4B; height:30px;width:64px;
margin-left:0px;
    }
</style> 
</head>
<body>
    <form id="form1" runat="server">
    <div class="exDiv" style="width:100%; height:80px; margin:0 auto; border:solid 1px #999999;background-color:#95CACA">
    <font >上傳文件</font>
    </div>
    <div class="xzOpen" id="xzOpen" >
        <div class="F1" id="F1">
            <asp:FileUpload ID="FileUpload1" runat="server" Width="224px"  />
         </div>
         <div class="B1" id="B1">
            <asp:Button ID="Button1" runat="server" Text="提交" onclick="Button1_Click"  style="margin:0 auto" Width="107px" />
         </div>
    </div>
    </form>
    <div class="boxmain"> 
        <div class="main">main</div> 
    </div> 
    <div class="left"><input type="file" id="xzFile" style="display:none"/> 
         <button type="button" class="up" onclick="upOpen()">選擇文件</button>
    </div> 
</body>
</html>


後臺C#部分:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace scientist
{
    public partial class WebForm1 : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            HttpPostedFile postedFile = this.FileUpload1.PostedFile; //獲取到要上傳的文件
            String fileName = "";//文件名
            String filePath = "filesNameTest/";//文件保存路徑
            fileName = System.IO.Path.GetFileName(postedFile.FileName);//獲取文件名稱
            if (System.IO.Directory.Exists(Server.MapPath(filePath)) == false)//判斷文件夾是否存在
            {
                System.IO.Directory.CreateDirectory(Server.MapPath(filePath));//如果不存在就創建file文件夾
            }
            if (System.IO.File.Exists(Server.MapPath(filePath+fileName)) == true)//判斷同名文件是否存在
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('同名文件已存在')", true);//彈窗提示文件已存在
            }
            else//文件不存在則保存文件
            {
                if (fileName != "")//判斷前端是否有文件傳過來
                {
                    String fileSuffix = System.IO.Path.GetExtension(fileName); //獲取上傳文件的擴展名
                    postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath(filePath) + fileName);//保存文件至根目錄下的files文件夾裏
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('已經保存成功')", true);//彈窗提示保存成功
                }
                else
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('請選擇文件')", true);//彈窗提示未選擇文件
                }
            }
        }
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章