我从SQL表中获取数据并使用它将html页面加载到本地硬盘。来自服务器的一些数据包含“\”,因此不是进入临时文件夹,而是文件的名称看起来像是在不同的文件夹中。我收到以下错误。
无法找到路径'C:\ temp \ Customer \ Referral-HP.html'的一部分。
如何从名称中删除正斜杠和\或用下划线替换它。
var page = "Customer\Referral-HP";
var location = page;
if (location.Contains("\\"))
{
location = location.Replace("\\", "_");
}
var path = @"C:\temp\" + location + ".html";
我得到了C:\temp\Customer\Referral-HP.html
,但我试图让它成为C:\temp\Customer_Referral-HP.html
。
我正在使用从数据库中获取的数据来创建文件路径,但是,如何处理文件路径的无效字符?
答案 0 :(得分:2)
您的代码似乎运行正常。但是,与\
不同的字符与文件名不兼容。以下是清理此数据的更完整示例:
string location = page;
foreach (var c in Path.GetInvalidFileNameChars())
{
location = location.Replace(c, '_');
}
Console.WriteLine(location);
Path.Combine("c:\\temp", location + ".html");