可以使用以下方法在保存文件之前重命名文件名:
protected void btnUpload_Click(object sender, EventArgs e)
{
if (fileUpload.HasFile)
{
string fileName = fileUpload.FileName;
string fileExtension = Path.GetExtension(fileName);
string newFileName = fileName;
// 检查文件是否已经存在,如果存在则重命名文件名
if (File.Exists(Server.MapPath("~/Uploads/" + fileName)))
{
int counter = 2;
while (File.Exists(Server.MapPath("~/Uploads/" + newFileName)))
{
newFileName = Path.GetFileNameWithoutExtension(fileName) + "_" + counter + fileExtension;
counter++;
}
}
// 保存文件
fileUpload.SaveAs(Server.MapPath("~/Uploads/" + newFileName));
lblMessage.Text = "文件上传成功!";
}
}
在上面的示例中,我们首先获取要上传的文件的文件名和文件扩展名。然后,我们检查服务器上是否已经存在具有相同文件名的文件。如果存在,我们使用循环添加一个数字后缀来创建一个新的文件名。最后,我们将文件保存到服务器上的新文件名。
请注意,上面的示例假设要保存文件的文件夹路径是 "~/Uploads/"。您可以根据自己的需求更改该路径。