不支持给定的路径's格式
本文关键字:格式 路径 不支持 | 更新日期: 2023-09-27 18:09:36
我正在尝试下载一个excel表格,我正在动态生成它的文件名,它必须是以下格式:
,
User_Wise_List_Of_Documents_2013_On_16_04_2013
为此,我编写了以下代码:
string currentDate = DateTime.Now.Date.ToString();
字符串currentYear = DateTime.Now.Year.ToString ();
filename = Server.MapPath("~/User/Documents/") +"User_Wise_List_Of_Documents_" + currentYear + "on" + currentDate +"xls";
不知怎么的,它给了我以下的例外:
The given path's format is not supported.
我认为您的文件名包含:
等无效字符,因为您正在使用string currentDate = DateTime.Now.Date.ToString()
组成文件名。
请查看无效字符列表
var invalidChars = Path.GetInvalidFileNameChars();
编辑
你可以用它来替换无效的字符
string newdatestr = String.Join("",currentDate.Select(c => invalidChars.Contains(c) ? '_' : c));
检查Server.MapPath("~/User/Documents/")
的结果了吗?
它将返回您的网站文件夹"/User/Documents/"
的目录路径,例如"C:'wwwroot'User'Documents'"
。你不能从那里下载文件(除非你在本地托管,在这种情况下它可能会工作,但只对你。
可能你正在寻找Page.ResolveUrl()
函数,它将创建一个相对于你的网站的web uri,而不是文件系统。