我正在使用FileUpload
控件并对SaveAs method
有疑问。如果上传的文件存在,我知道它将覆盖它,但如果文件名的外壳不同,它是使用现有文件名还是新文件名。
示例
如果我在服务器上有一个名为TEST.txt的文件,并且有一个名为的新上传文件 test.txt进来了,会用哪个名字?
答案 0 :(得分:3)
答案取决于操作系统的行为方式。
使用Windows操作系统时,文件将被覆盖。从本质上讲,就Windows而言,文件名不区分大小写,至少是为了识别它们。如果被覆盖,Windows也将使用新的文件名(自己尝试 - 将具有不同案例的文件复制到文件夹中,看看会出现什么情况),尽管旧版本的操作系统使用原始文件名(XP也是如此)。
在Linux OS上,将创建一个新文件。 Linux / Unix / iOS(以及几乎所有的Unix变体)将具有不同外壳的文件视为不同的文件。
答案 1 :(得分:0)
也许这并不能完全回答这个问题,但我认为如果不对替换后使用的文件名做出任何假设会更安全。
因此我建议您仅以小写的方式保存上传的文件,这样如果您切换服务器(操作系统),您将有后备保护,这将为您节省一些调试。