2011-04-26 72 views

回答

2

AFAIK,你不能。該文件將:

  • A)推無刷新的變化,或
  • B)導致一個問題,如果該文件不能打開推含量(即以各種各樣的鎖打開) - 發生這種情況的最可能在'打開文件'對話框中,但是,這是用戶系統問題。
0

這取決於用戶如何編輯文件。例如Word和記事本,從Windows Vista或7開始,將鎖定文件,以便其他人無法寫入文件。在這種情況下,就像打開文件一樣簡單,並檢查是否出現IOException。

static bool IsWriteProtected(string file) 
{ 
    try 
    { 
     using (File.OpenWrite(file)) ; 
    } 
    catch (UnauthorizedAccessException ex) 
    { 
     return true; 
    } 

    return false; 
} 

你的, 阿洛伊斯·克勞斯

+0

這隻允許檢查_server side_文件 – 2011-04-26 21:22:35

+0

正確@ m.edmondso我需要在推送文件之前檢查客戶端。我的想法是沒有創建一個activeX控件,這是不可能的,但我想與社區檢查,看看是否有人設計了一種方式。 – Tim 2011-04-26 21:26:04

+0

對不起。瀏覽器中的常規Java Script似乎無法訪問您的本地文件系統。如果你有足夠的權利,那麼這個鏈接應該有所幫助:http://www.c-point.com/JavaScript/articles/file_access_with_JavaScript.htm – 2011-04-26 21:28:57

2

這是(有點)可能的,但需要大量的努力和最終用戶環境進行嚴密監控這可能是不可能的。

一般步驟如下:

1:你可以使用一個虛擬文件系統,如CBFS或其它開源庫(對不起,我已經比CBFS其他任何沒有實踐經驗) - http://www.eldos.com/solutions/solutions-for-developers.php#commchannel

2:創建所述虛擬文件系統,以便將其映射到任何數據庫存儲或服務器側存儲

3:映射此作爲最終用戶系統的目錄

4:只要最終用戶s正在創建和修改這個共享中的文件,或者你只接受來自這個共享的文件,那麼你可以檢查打開的文件句柄,如果是這樣,防止上傳

+0

謝謝@ Johnv2020。在與項目負責人討論後,他們決定將這一要求降低到一個消息箱,警告用戶確保文件已關閉。在這個發展中,這似乎是最聰明的方式。 – Tim 2011-04-27 13:30:26

+1

令人驚訝的是,一旦項目擁有者意識到解決方案將改變規格,將會花費金錢並且需要時間。 – Johnv2020 2011-04-28 13:01:01