我正在尝试下载excel表格,我正在动态生成其文件名,该文件名必须采用以下格式:
例如:
User_Wise_List_Of_Documents_2013_On_16_04_2013
为此,我写了以下代码:
string currentDate = DateTime.Now.Date.ToString();
string 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.
任何帮助将不胜感激。
答案 0 :(得分:2)
我认为您的文件名包含:
之类的无效字符,因为您正在使用string currentDate = DateTime.Now.Date.ToString()
形成文件名。
查看无效字符列表
var invalidChars = Path.GetInvalidFileNameChars();
修改强>
您可以使用它来替换无效字符
string newdatestr = String.Join("",currentDate.Select(c => invalidChars.Contains(c) ? '_' : c));
答案 1 :(得分:0)
您是否检查了Server.MapPath("~/User/Documents/")
的结果?
它将返回您网站的文件夹"/User/Documents/"
的目录路径,例如"C:\wwwroot\User\Documents\"
。你不能从那里下载一个文件(除非你是托管本地文件,在这种情况下它可能会工作,但仅限你。
可能你正在寻找Page.ResolveUrl()
函数,它将创建一个相对于你的网站而不是文件系统的web uri。