簡體   English   中英

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

[英]ASP.NET: Server.MapPath returns the string NOT_A_VALID_FILESYSTEM_PATH

在我的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”?

滿足以下兩個條件時, Server.MapPath返回字符串“ NOT_A_VALID_FILESYSTEM_PATH”:

  1. 提供給Server.MapPath的參數包含一個不能出現在有效文件名中的字符,例如冒號(“:”)或問號(“?”);
  2. 在應用程序的web.config文件中,system.web / httpRuntime元素包括屬性RelaxUrlToFileSystemMapping =“ true”

如果web.config不具有relaxedUrlToFileSystemMapping="true" ,則對Server.MapPath的調用將引發System.NotSupportedException並顯示消息“不支持給定路徑的格式”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM