关于asp.net:virtual path change

virtual path change

我想更改保存在ASP.NET文件夹中的文件的虚拟路径(路径不在项目中表示本地系统或服务器)。

代码是

1
2
3
4
5
6
7
8
9
10
11
12
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 is not a valid virtual path."。


如果您想在目录中获取文件,并且知道完整的路径,那么就不需要使用Server.MapPath()。只要走这条路。

顺便说一下,代码中的路径分隔符不正确。字符串"D:/Uploads"应为@"D:\Uploads"(注意前导@符号表示应按字面处理而不转义的字符串)。


当然。您正在告诉服务器映射完全脱离IIS的路径。怎么办?如果您使用的是Web应用程序,请尝试完全避免这种想法。尽管这是可能的,但这不是一个好主意,因为你可能会遇到安全问题。