在我的网站上,我让用户上传文件,并且在将文件保存到服务器之前,我正在重命名文件。如果用户上传文件test.pdf,我想重命名文件test_123.pdf,但是将文件重命名为test.pdf_123.pdf下面是我的代码:
foreach (HttpPostedFile uploadedFile1 in UploadPDF.PostedFiles)
{
if (Path.GetExtension(uploadedFile1.FileName) == ".pdf")
{
UploadedFile = UploadPath + uploadedFile1.FileName;
RenamedFile = UploadPath + uploadedFile1.FileName + "_" + applicationID + ".pdf";
File.Move(UploadedFile, RenamedFile);
}
}
每个文件的applicationID都在变化。
使用上面的代码,我对文件的重命名将附加到已经存在的文件扩展名之后。
答案 0 :(得分:1)
在处理更改之前,您需要删除扩展名并仅使用文件名部分:
UploadedFile = UploadPath + uploadedFile1.FileName;
UploadedFileTemp = UploadPath + Path.GetFileNameWithoutExtension(uploadedFile1.FileName);
RenamedFile = UploadedFileTemp + "_" + applicationID + ".pdf";
答案 1 :(得分:0)
我认为这是由于uploadedFile1.FileName
而引起的。上传之前,只需删除扩展名即可。有一个可能有用的Trim函数。
看看这个链接:.Net Trimming
我认为您可以使用TrimEnd()
函数删除扩展名。