C# asp.net实现文件上传
上课了分享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);//弹窗提示未选择文件
}
}
}
}
}
页:
[1]