在ASP.NET中,使用FileUpload控件可以實現文件上傳功能。要實現文件分類,可以在前端和后端進行處理。這里是一個簡單的示例,展示了如何使用前端和后端實現文件分類。
前端:
<!DOCTYPE html>
<html>
<head>
<title>File Upload with Category</title>
</head>
<body>
<form id="form1" runat="server">
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" />
</form>
</body>
</html>
<script type="text/javascript">
function categoryFile(file) {
var extension = file.name.split('.').pop();
switch (extension) {
case 'jpg':
case 'jpeg':
alert('Image files');
break;
case 'png':
alert('Image files');
break;
case 'txt':
alert('Text files');
break;
case 'pdf':
alert('PDF files');
break;
default:
alert('Other files');
break;
}
}
</script>
btnUpload_Click事件中調用categoryFile函數,以便在選擇文件時觸發文件分類。<script type="text/javascript">
function btnUpload_Click(sender, e) {
var fileInput = document.getElementById('<%= FileUpload1.ClientID %>');
var file = fileInput.files[0];
if (file) {
categoryFile(file);
// 在這里添加文件上傳的代碼
} else {
alert('Please select a file.');
}
}
</script>
后端:
protected void btnUpload_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string filePath = Server.MapPath("~/Uploads/" + FileUpload1.FileName);
FileUpload1.SaveAs(filePath);
string extension = Path.GetExtension(FileUpload1.FileName).ToLower();
switch (extension)
{
case ".jpg":
case ".jpeg":
// 保存到圖像文件夾
break;
case ".png":
// 保存到圖像文件夾
break;
case ".txt":
// 保存到文本文件夾
break;
case ".pdf":
// 保存到PDF文件夾
break;
default:
// 保存到其他文件夾
break;
}
}
else
{
lblMessage.Text = "Please select a file.";
}
}
這個示例展示了如何使用前端和后端實現文件分類。你可以根據需要修改這個示例,以便更好地滿足你的需求。