4
我想確保給定的文件名是有效的,即使這意味着替換或刪除某些字符。目前,我正在這樣做:如何確保文件路徑有效?
Path.GetInvalidFileNameChars().ToList().ForEach (x => path.Replace (x, '-'));
但據我所知,this is not guaranteed to yield a valid filename。有沒有更好的方法比上面執行預檢查然後實際嘗試打開文件?
編輯:點在上面的代碼中的bug;)
次要另外:我寧願保持文件名儘可能地易讀,所以使用某種BASE64應避免。
硬核,但好主意 - 這似乎是一個非常安全的方法。 – mafu 2010-09-08 12:06:16
是的 - 它的安全方式。我們這樣做是因爲我們試圖通過存儲在臨時目錄中來保存上傳的文件名,並且當從Mac機上傳文件時遇到了問題。當然,現在我們使用生成的文件名存儲在文件存儲中,實際名稱存儲在數據庫中。 – VinayC 2010-09-08 12:24:03