虚拟路径变化

时间:2012-05-09 06:44:55

标签: asp.net

我想更改文件的虚拟路径(路径超出项目意味着本地系统或服务器。)保存在asp.net的文件夹中。

代码是

DataTable dtFiles =  
    GetFilesInDirectory(HttpContext.Current.Server.MapPath(UPLOADFOLDER));
gv.DataSource = dtFiles;
gv.DataBind();

if (dtFiles != null && dtFiles.Rows.Count > 0)
{
    double totalSize = Convert.ToDouble(dtFiles.Compute("SUM(Size)", ""));
    if (totalSize > 0) lblTotalSize.Text = CalculateFileSize(totalSize);
}

private static string UPLOADFOLDER = "D:/Uploads";

错误显示“D:/ Uploads不是有效的虚拟路径。”。

2 个答案:

答案 0 :(得分:1)

如果要获取目录中的文件并且知道完整路径,则无需使用Server.MapPath()。只需使用路径。

顺便提一下,代码中的路径分隔符不正确。字符串"D:/Uploads"应为@"D:\Uploads"(请注意leading @ sign表示应按字面处理而不进行转义的字符串。

答案 1 :(得分:0)

当然。您告诉您的服务器映射完全脱离IIS的路径。该怎么办?如果您使用的是Web应用程序,请尽量避免使用这些想法。尽管有可能,但由于您可能遇到的安全问题,这不是一个好主意。