【问题标题】:virtual path change虚拟路径改变
【发布时间】:2012-05-17 16:02:29
【问题描述】:

我想更改保存在 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 不是有效的虚拟路径。”。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-10
        • 1970-01-01
        相关资源
        最近更新 更多