<%@ page Language = "C#" debug = "true" %>
<%@ Import Namespace = "System.IO" %>
<script language = "C#" runat = "server">
public void uploadFile(object sender , EventArgs E) {
//檢查上傳檔案不為空白
if(inputFile.PostedFile.ContentLength > 0) {
//設定上傳檔案的儲存路徑
string strSaveDir = "./upload/";
string strName = inputFile.PostedFile.FileName;
//取得檔案名稱(抱括路徑)裡最後一個"."的索引
int intExt = strName.LastIndexOf(".");
//取得副檔名
string strExt = strName.Substring(intExt);
//這裡我自動根據日期和檔案大小不同為檔案命名,確保檔案名稱不重複
/*
DateTime datNow = DateTime.Now;
string strNewName = datNow.DayOfYear.ToString() + inputFile.PostedFile.ContentLength.ToString() + strExt; */
//取得檔案名稱(包括路徑)裡最後一個"\"的索引
int intPath = strName.LastIndexOf("\\");
//取得檔案名稱(不包括路徑)
string strNewName = strName.Substring(intPath);
//儲存檔案到你所要的目錄,這裡是IIS根目錄下的upload目錄.你可以改變.
//注意: 我這裡用Server.MapPath()取當前檔案的絕對目錄.在asp.net裡"\"必須用"\\"代替
inputFile.PostedFile.SaveAs(Server.MapPath(strSaveDir + strNewName));
//得到這個檔案的相關屬性:檔案名稱,檔案類型,檔案大小
labelUpResult.Text = "上傳成功!";
labelFileName.Text = "檔案源:" + strName;
labelFileExt.Text = "檔案類型:" + inputFile.PostedFile.ContentType + "( " + strExt + " )";
labelFileSize.Text = "檔案大小:" + (inputFile.PostedFile.ContentLength / 1024).ToString() + " K Byte(s)";
} else {
labelUpResult.Text = "請選擇你要上傳的檔案!";
labelFileName.Text = "";
labelFileExt.Text = "";
labelFileSize.Text = "";
}
}
</script>
<html>
<head>
<title>上傳檔案</title>
</head>
<body>
<div align="center">
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#eeeeee" id="AutoNumber1">
<form id="formFile" method="post" action="" enctype="multipart/form-data" runat="server">
<tr>
<td align="center">
<input type="file" id="inputFile" name="inputFile" runat="server" size="64">
</td>
</tr>
<tr>
<td align="center">
<input type="button" value="Upload" OnServerClick="uploadFile" id="Button1" name="Button1" runat="server">
</td>
</tr>
<tr>
<td align="center">
<asp:Label id="labelUpResult" runat="server" text="" font-bold="True" forecolor="#FF0000"/><br>
<asp:Label id="labelFileName" runat="server" text="" font-bold="True" forecolor="#FF0000"/><br>
<asp:Label id="labelFileExt" runat="server" text="" font-bold="True" forecolor="#FF0000"/><br>
<asp:Label id="labelFileSize" runat="server" text="" font-bold="True" forecolor="#FF0000"/><br>
</td>
</tr>
</form>
</table>
</div>
</body>
</html>