2011-10-22 17 views
2

我在我的winform應用程序中使用filewatcher控件。我正在通過處理其事件來執行上傳任務。

現在的問題是,當我創建的目錄中的任何新的文件(這下FileWatcher控制觀看)上傳功能開始,並上傳文檔。(,我想),但在這個目錄系統中創建新的文檔生成臨時文件,它也上傳到服務器(,我不想要)。

至於例如,如果我創建然後系統創建另一個文件中像XYZ目錄中名爲Microsoft Word中Document.docx一個新的Word文檔(這個目錄FileWatcher控制下觀看)〜$ w該文檔的Microsoft Word Document.docx。這兩個文件都上傳到服務器。

這裏我舉一個例子來說明word文件。上傳內容可能是任何(未修復)。停止爲Filewatcher控件創建事件以自動生成臨時文件的原始內容

回答

2

所以我找到了解決方案。在隊列中添加文件進行上傳之前,我使用了一些驗證。

FileAttributes attr = System.IO.File.GetAttributes(e.FullPath); 

FileInfo fi = new FileInfo(e.FullPath);  

if ((attr & FileAttributes.Hidden) == FileAttributes.Hidden || fi.Extension == ".tmp") 
{ 
    return; 
} 

如果我收到文件屬性隱藏或它的擴展,然後我從那裏返回。
那就是全部:)

2

你能不能檢測到臨時文件名並忽略它?您可能會發現它具有一些顯然不是非常規文件的屬性,或者您可能會發現Word使用的命名約定。 (你很可能真的想要一個以「$」開頭的文件嗎?)

+0

感謝Jon的指導。有一個解決方案 – Priyank