ASP.NET:Server.MapPath返回字符串NOT_A_VALID_FILESYSTEM_PATH

 隐姓埋名er 发布于 2022-12-12 18:06

在我的ASP.NET应用程序中,一个应该将文件写入磁盘的方法有时会意外地以文件名写入文件NOT_A_VALID_FILESYSTEM_PATH.

(简化)代码是:

private void WriteFile(string fileID)
{
    string fileName = Server.MapPath("/Data/" + fileID + ".xml");

    // (More code that writes data to that file...)
}

为什么Server.MapPath返回字符串"NOT_A_VALID_FILESYSTEM_PATH"?

1 个回答
  • 当满足以下两个条件时,Server.MapPath返回字符串"NOT_A_VALID_FILESYSTEM_PATH":

      提供给Server.MapPath的参数包含一个不能出现在有效文件名中的字符,例如冒号(":")或问号("?");

      在应用程序的web.config文件中,system.web/httpRuntime元素包含属性relaxedUrlToFileSystemMapping ="true".

    如果web.config没有relaxedUrlToFileSystemMapping="true",那么对Server.MapPath的调用将抛出System.NotSupportedException,并显示消息"不支持给定路径的格式".

    2022-12-12 18:07 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有