1

我正在使用FileUpload控件并且对SaveAs method. 如果上传的文件存在,我知道它会覆盖它,但是如果文件名的大小写不同,它是使用现有文件名还是新文件名。

例子

如果我在服务器上有一个名为 TEST.txt 的文件,并且有一个名为 test.txt 的新上传文件,将使用哪个名称?

4

2 回答 2

3

答案取决于操作系统的行为方式。

对于 Windows 操作系统,该文件将被覆盖。从本质上讲,就 Windows 而言,文件名不区分大小写,至少为了识别它们。如果被覆盖,Windows 也将使用新的文件名(自己尝试 - 将具有不同大小写的文件复制到文件夹中,看看会发生什么),尽管旧版本的操作系统使用原始文件名(XP 这样做)。

在 Linux 操作系统上,将创建一个新文件。Linux/Unix/iOS(以及几乎所有 Unix 变体)将具有不同大小写的文件视为不同的文件。

于 2013-05-10T14:02:58.623 回答
0

也许这并不能完全回答这个问题,但我认为不要对替换后将使用什么文件名做出任何假设会更安全。

因此,我建议您仅以小写形式保存上传的文件,这样,如果您切换服务器(操作系统),您将得到保护,并且可以节省一些调试时间。

于 2013-05-10T14:11:57.217 回答