Asp.net 虚拟路径更改

Asp.net 虚拟路径更改,asp.net,Asp.net,我想更改保存在asp.net文件夹中的文件的虚拟路径(路径不在project中表示本地系统或服务器) 代码是 DataTable dtFiles= GetFilesInDirectory(HttpContext.Current.Server.MapPath(UPLOADFOLDER)); gv.DataSource=dtFiles; gv.DataBind(); 如果(dtFiles!=null&&dtFiles.Rows.Count>0) { double totalSize=Convert.

我想更改保存在asp.net文件夹中的文件的虚拟路径(路径不在project中表示本地系统或服务器)

代码是

DataTable dtFiles=
GetFilesInDirectory(HttpContext.Current.Server.MapPath(UPLOADFOLDER));
gv.DataSource=dtFiles;
gv.DataBind();
如果(dtFiles!=null&&dtFiles.Rows.Count>0)
{
double totalSize=Convert.ToDouble(dtFiles.Compute(“总和(大小)”,“”);
如果(totalSize>0)lblTotalSize.Text=CalculateFileSize(totalSize);
}
私有静态字符串UPLOADFOLDER=“D:/Uploads”;

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

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

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

顺便说一句,代码中的路径分隔符不正确。字符串
“D:/Uploads”
应该是
@“D:\Uploads”
(注意,表示应该按字面处理而不是转义的字符串)