我得到的文件名稱冒號上傳文件的客戶錯誤,即C:/uploads/test : doc.html
如何在文件名中使用冒號在Windows中獲取文件?
我假設某些Unix或Linux系統正在生成文件,但我不知道用戶如何保存它們與無效的文件名。我編寫了一個應該在上傳時重命名文檔的文章。我的問題是我無法測試它,因爲我無法在Windows上獲得文件名中含有冒號的文件。
我得到的文件名稱冒號上傳文件的客戶錯誤,即C:/uploads/test : doc.html
如何在文件名中使用冒號在Windows中獲取文件?
我假設某些Unix或Linux系統正在生成文件,但我不知道用戶如何保存它們與無效的文件名。我編寫了一個應該在上傳時重命名文檔的文章。我的問題是我無法測試它,因爲我無法在Windows上獲得文件名中含有冒號的文件。
我發現一個非常類似於冒號的字符,「꞉」它是一個名爲修飾符冒號的unicode字符。這沒有像全角冒號那樣的空間,幾乎和普通冒號一樣,但符號起作用。您可以從上面複製並粘貼它,或者您可以使用代碼點,U + A789
冒號是Windows文件名的無效字符。您將無法在文件名中使用':',但可以解決此問題。
你可以做它聽起來像你已經做了什麼;創建一個腳本,用UNIX端的有效字符替換這些無效字符。或者,您可以使用文件名字符轉換在Windows服務器上處理此問題:http://support.microsoft.com/kb/289627
很可能來自您提供的文件名中的字符不是文字冒號:
,它是一個保留字符在Windows文件名中,但是全角冒號:
取而代之。這是一個Unicode字符,看起來非常像一個冒號,在視覺上被無法刪除的空格包圍。您可以像處理任何Unicode字符一樣處理它,代碼點爲U+FF1A
。
有幾個字符在Windows文件名中是不允許的,冒號就是其中之一。抱歉。 –
P.S.無效字符的完整列表在這裏:http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#file_and_directory_names –
這可能可以做到這一點本機API或設備驅動程序。但是,您將無法從Windows應用程序上載文件,或者確實無法使用它進行任何其他操作。 –