在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.";
}
}
这个示例展示了如何使用前端和后端实现文件分类。你可以根据需要修改这个示例,以便更好地满足你的需求。