2010-09-23 43 views
2

Im正在研究如何在我的web應用程序中創建安全文件名我已經閱讀了很多帖子,在這裏最後一個How do I check if a given string is a legal/valid file name under Windows?但我可以'如果文件名以「fileName ..pdf」(雙點)的方式出現,瀏覽器無法打開文件,至少IE瀏覽器並且至少對於Windows而言是一個安全的文件名,那麼如何才能找到此示例的解決方案?搜索此異常,並去除雙點,我有什麼現在是下面的例子(這顯然不刪除雙點:如何使用double(。)(。)「fileName ..pdf」驗證安全文件名「

foreach (var c in Path.GetInvalidFileNameChars()) { fileName = fileName.Replace(c, '-'); } 

回答

1

我會做額外的檢查之後,並與.更換..

foreach (var c in Path.GetInvalidFileNameChars()) 
    fileName = fileName.Replace(c, '-'); 

fileName = fileName.Replace("..", "."); 
+0

yes在dit中,如果文件路徑中間有一個像name.filenam.pdf這樣的中間點,但是這不是問題,那麼瀏覽器可以毫無問題地打開文件,我猜想這個簡單的方法作品謝謝 – ncubica 2010-09-23 19:36:17

+0

@ncubica:感謝接受。 2000年只有15個代表! – 2010-09-23 19:43:18