這是asp.net實現文件上傳的代碼程序。隻是一(yī)個示例,你可以根據自己的要求進行修改。
文件上傳中(zhōng)要注意安全問題。過濾文件類型,不能夠允許用戶上傳動态腳本(asp,asp.net,php,cgi,exe等文件。否則你的網站将存在安全問題。容易被黑掉
<%@ page Language = "C#"%>
<%@ 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;
//取得文件名(抱括路徑)裏後一(yī)個"."的索引
int intExt = strName.LastIndexOf(".");
//取得文件擴展名
string strExt = strName.Substring(intExt);
//這裏我(wǒ)自動根據日期和文件大(dà)小(xiǎo)不同爲文件命名,确保文件名不重複
/*
DateTime datNow = DateTime.Now;
string strNewName = datNow.DayOfYear.ToString() + inputFile.PostedFile.ContentLength.ToString() + strExt; */
//取得文件名(包括路徑)裏後一(yī)個"\"的索引
int intPath = strName.LastIndexOf("\\");
//取得文件名(不包括路徑)
string strNewName = strName.Substring(intPath);
//保存文件到你所要的目錄,這裏是IIS根目錄下(xià)的upload目錄.你可以改變.
//注意: 我(wǒ)這裏用Server.MapPath()取當前文件的絕對目錄.在asp.net裏"\"必須用"\\"代替
inputFile.PostedFile.SaveAs(Server.MapPath(strSaveDir + strNewName));
//得到這個文件的相關屬性:文件名,文件類型,文件大(dà)小(xiǎo)
labelUpResult.Text = "上傳成功!";
labelFileName.Text = "文件源:" + strName;
labelFileExt.Text = "文件類型:" + inputFile.PostedFile.ContentType + "( " + strExt + " )";
labelFileSize.Text = "文件大(dà)小(xiǎo):" + (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>
|