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

时间:2019-02-18 18:28:25

标签: c# path

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

imagePath =“ c:\ temp \ temp \ file_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:\ temp \ temp \ file_name.jpg”,我想将该路径保存为本地PC中的txt文件。不管我做什么,我总是拥有“ \ t”或其他可能被视为非法的特殊字符。 字符串imagePath = jsonResult.image

那么不管此文件具有什么功能,将其写入文本文件的正确方法是什么?

这是我从服务器获取的JSON字符串:

{"image":"c:\testimage\test.jpg","predictions":[[1.03891e-05, 0.0128408, 0.914102, 9.68333e-05, 0.0729495]]}

1 个答案:

答案 0 :(得分:-1)

从服务器端修复

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

"C:\\doubleSlash\\paths"

@"C:\singleWith\atSymbol"

从客户端修复,没有服务器控制

通过将无效字符替换为正确的对应字符来处理数据,否则,请与服务提供商联系以获取服务器端解决方案;]