不支持给定路径的格式

时间:2013-04-16 07:26:37

标签: c# asp.net visual-studio-2010 export-to-excel

我正在尝试下载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.

任何帮助将不胜感激。

2 个答案:

答案 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。