如何在FileUpload中将所选文件保存到服务器时更改文件扩展名
本文关键字:文件 保存 服务器 扩展名 FileUpload | 更新日期: 2023-09-27 18:02:37
string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/ProcessedFiles/" + fileName));
我从FileUpload1抓取的文件保存在服务器上是一个。xls文件(Excel 97-2003)
我想要的是保存它与。xlsx扩展名(Excel 2007及以上)在服务器上。
使用Path.ChangeExtension
string path = "C:''SomePath''Somefile.xls";
string newPath = Path.ChangeExtension(path, ".xlsx");
在您的情况下,可能是这样的(未测试):
string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
fileName = Server.MapPath(Path.Combine("~/ProcessedFiles/", fileName));
FileUpload1.PostedFile.SaveAs(Path.ChangeExtension(fileName, ".xlsx"));
您需要使用Path。GetFileNameWithoutExtension方法而不是Path.GetFileName
string fileName = Path.GetFileNameWithoutExtension(FileUpload1.PostedFile.FileName) + "xlsx";
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/ProcessedFiles/" + fileName));
您可以检索没有其原始扩展名的文件名,然后通过使用Path.GetFileNameWithoutExtension(String path)
向其添加新的扩展名,如下所示:
String filename = Path.GetFileNameWithoutExtension(FileUpload1.PostedFile.FileName) + ".xlsx";
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/ProcessedFiles/" + filename));
转念一想,我完全忘记了ChangeExtension()
,正如@Matt所建议的。你应该使用他的代码