我想更改文件的虚拟路径(路径超出项目意味着本地系统或服务器。)保存在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不是有效的虚拟路径。”。
答案 0 :(得分:1)
如果要获取目录中的文件并且知道完整路径,则无需使用Server.MapPath()
。只需使用路径。
顺便提一下,代码中的路径分隔符不正确。字符串"D:/Uploads"
应为@"D:\Uploads"
(请注意leading @ sign表示应按字面处理而不进行转义的字符串。
答案 1 :(得分:0)
当然。您告诉您的服务器映射完全脱离IIS的路径。该怎么办?如果您使用的是Web应用程序,请尽量避免使用这些想法。尽管有可能,但由于您可能遇到的安全问题,这不是一个好主意。