FileName包含例如图例/ Dery //时报
File.WriteAllBytes("/Pictures" + FileName, buffer);
我无法保存文件,因为“/”被视为路径,我也无法删除“/”,因为我需要它进行进一步处理。有没有办法保存这样的文件?
答案 0 :(得分:4)
你运气不好。正斜杠不能成为文件名的一部分。
你需要以某种方式转义(即改变名称但提供一种改变它的方式),但实际上并不是传统的做法。
我已经看到%
用于此目的,%%
用于表示单个%
,类似%f
用于正斜杠, %b
反斜杠等等。
答案 1 :(得分:1)
答案 2 :(得分:0)
我建议您在保存文件和尝试访问文件时规范化输入,而不是转义:
//replace all illegal characters with regex (with a dash):
new Regex(@"[<>:""/\\|?*]").Replace("Inpu|t","-")
//Or just replace all non alpha numeric characters (with a dash):
new Regex(@"[^a-zA-Z0-9\-]").Replace("Inpu|t","-")
这样你就可以获得干净的文件和文件夹名称,而不必担心非法名称。