【问题标题】:Special characters on file path:. Slash symbol文件路径上的特殊字符:。斜线符号
【发布时间】:2016-10-10 02:44:12
【问题描述】:

我处理文件。并使用这样的代码:

 PdfWriter.GetInstance(newFile, new FileStream(WebConfigurationManager.AppSettings["StorageFolder"] + "\\" + DateTime.Now.Year.ToString() + "\\fnp\\request_" + myVariable+ "_l" + confirmLevel.ToString() + ".pdf", System.IO.FileMode.Create));

此行生成我的文件的完整路径。例如,如果myVariable="0001" 则可以。所以 newFile 的完整路径类似于 StorageFolder\2016\fnp\request_0001_l2.pdf。但我想分配 myVariable 值,例如myVariable = "0001/16"。然后 PdfWriter.GetInstance 方法尝试创建像 StorageFolder\2016\fnp\request_0001\16_l2.pdf 这样的路径。但我需要它来创建 StorageFolder\2016\fnp\request_0001/16_l2.pdf。

我该如何管理它?

【问题讨论】:

  • 我认为你不是在 Windows 下运行的??无论哪种方式尝试输入 \ 作为 \\
  • 你到底想做什么?你想创建一个名为request_0001的文件夹,然后将文件16_l2.pdf放在里面,还是你想创建一个名为request_0001/16_l2.pdf的文件?
  • 我在Windows系统下使用。 @BugFinder。
  • 我想创建一个名为 request_0001/16_l2.pdf @LasseV.Karlsen 的文件
  • 你不能。在 Windows 上,“/”不是文件夹名或文件名中的合法字符。

标签: c# pdf filestream slash pdf-writer


【解决方案1】:

嗯,你不能。

/ 字符在 Windows 上的文件夹名或文件名中是不合法的。

你将不得不选择另一个字符,一个合法的。

您可以在此MSDN Article: Naming Files, Paths, and Namespaces 中阅读有关这些内容的更多信息:

使用当前代码页中的任何字符作为名称,包括 Unicode 字符和扩展字符集 (128–255) 中的字符,但以下保留字符除外:
<(小于)
>(大于)
:(冒号)
"(双引号)
/(正斜杠)
\(反斜杠)
@ 987654329@(竖条或竖管)
?(问号)
*(星号)
+ 其他一些细节

【讨论】:

  • 谢谢。我会考虑的。
猜你喜欢
  • 2014-11-22
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 2014-06-21
  • 2023-03-18
  • 2018-02-08
  • 2011-10-06
  • 1970-01-01
相关资源
最近更新 更多