我需要一种强大而简单的方法来从简单的字符串中删除非法路径和文件字符.我使用了下面的代码,但它似乎没有做任何事情,我错过了什么?
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string illegal = "\"M<>\"\\a/ry/ h**ad:>> a\\/:*?\"<>| li*tt|le|| la\"mb.?";
illegal = illegal.Trim(Path.GetInvalidFileNameChars());
illegal = illegal.Trim(Path.GetInvalidPathChars());
Console.WriteLine(illegal);
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud) Server.UrlEncode("My File.doc")返回"My + File.doc",而javascript escape("My File.doc")返回"My%20File.doc".据我所知,javascript是corectly URL编码字符串而.net方法不是.它实际上似乎在实践中使用http://somesite/My+File.doc无法获取"My File.doc",无论如何我可以使用firefox/ie和IIS进行测试,而http:// somesite /我的%20File.doc工作正常.我错过了什么或Server.UrlEncode根本无法正常工作?