C# “如何修复”;路径中的非法字符。”;在文件路径中?

C# “如何修复”;路径中的非法字符。”;在文件路径中?,c#,path,C#,Path,我在将文件路径正确写入文本文件时遇到问题。我得到一个错误“路径中的非法字符”。 我从函数传入的文件路径为 imagePath=“c:\temp\temp\file\u name.jpg”。(来自函数) 每当我使用下面的 imagePath = Path.GetFullPath(imagePath); 我得到错误“路径中的非法字符”。 这里的问题是“\t”被视为非法字符,尽管它是路径的一部分。那么,我怎样才能将其写入文本文件呢?我无法控制名称中的此类字符 如何编写完整路径 在这里,我将添加有关该

我在将文件路径正确写入文本文件时遇到问题。我得到一个错误“路径中的非法字符”。 我从函数传入的文件路径为

imagePath=“c:\temp\temp\file\u name.jpg”。(来自函数)

每当我使用下面的

imagePath = Path.GetFullPath(imagePath);
我得到错误“路径中的非法字符”。 这里的问题是“\t”被视为非法字符,尽管它是路径的一部分。那么,我怎样才能将其写入文本文件呢?我无法控制名称中的此类字符

如何编写完整路径

在这里,我将添加有关该函数的更多详细信息

ServerResponse jsonResult = new ServerResponse();
            try
            {
                jsonResult = JsonConvert.DeserializeObject<ServerResponse>(strResponse);
                string imagePath = jsonResult.image;

                //    string imagePath = "\"M\"\\a/ry/ h**ad:>> a\\/:*?\"| li*tt|le|| la\"mb.?";
                //      string invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars());

                imagePath = Path.GetFullPath(imagePath);

                File.AppendAllText(PredictFileName, (string)imagePath);
                txtJSONresult.AppendText((String)imagePath.ToString());
                txtJSONresult.AppendText(Environment.NewLine);
            }
            catch (Exception ex)
            {
                txtJSONresult.AppendText(strResponse);
                txtJSONresult.AppendText(Environment.NewLine);
                txtJSONresult.AppendText(ex.Message);
                txtJSONresult.AppendText(Environment.NewLine);
            }

从服务器端修复

确保发送正确的字符串格式:

"C:\\doubleSlash\\paths"

@"C:\singleWith\atSymbol"
从客户端修复,无服务器控制


如有可能,通过将无效字符替换为正确的对应字符来屏蔽数据,否则请联系服务提供商以了解服务器端解决方案;]

imagePath=@“c:\temp\temp\file_name.txt”,但如果函数返回的路径常量不正确,则应修复该函数。查看此函数会很有用,因此如果此字符串来自另一个方法,则
\t
不是问题所在(如果您在调试器窗口中看到此函数,则它已被重新转义)。逐个字符检查得到的字符串,看看它们是否是它们的样子(可能是一些奇怪的unicode字符)…但您仍然没有显示strresponse是如何创建的。如果创建该变量的代码返回字符串路径而没有正确转义,则应该修复该代码。当您收到格式错误的字符串时,就太晚了。(除非你愿意构建一个逐字节的解析器)来吧,你知道那不是真的。文件夹和文件允许以
t
开头。请展示一个你如何生成路径字符串的可复制样本。如果OP最终使用了我们一直给他的解决方案。。。也许投票否决这些答案有点不必要。摆出一副思考的面孔。。。英雄联盟
"C:\\doubleSlash\\paths"

@"C:\singleWith\atSymbol"