2012-06-19 59 views
1

在我的情況,我想建立自己的「投件箱」之類的應用程序,我會爲我的另一個項目的一部分來使用。 描述: 當Word文件中的「下拉框」打開文件夾(其中更改的文件,文件創建刪除等..標識文件夾內)。圖片,txts,txt更新上傳到服務器沒有任何問題。 但是涉及到辦公文件。辦公文件的創建上傳。字文件儲蓄而不關閉不上傳到服務器

問題: 當Word文件被打開,並做一些更新和保存。由於權限錯誤,文件無法上傳。即使打開的文件也不能複製到其他地方然後上傳。 任何人都會遇到這樣的問題,以及任何問題。 但我們可以手動複製並保存打開並保存(但不關閉)到另一個位置

但在程序中不允許。

+0

你嘗試打開文件以先進的共享選項?默認情況下,文件以獨佔鎖打開,因此無法在使用時訪問它們。 –

+0

謝謝,我正在努力處理你所說的話。我不想打開任何文件。我想要的是上傳文件發生的變化。保存字文件被識別爲更改,但不允許訪問該特定文件。我會看到是否有任何覆蓋在ftp上傳方法來設置共享選項 –

回答

3

您可以創建文件的另一個副本,這是非常重要的,因爲上傳可能會慢和讀取的共享文件可能會導致的Word衝突,所以你可以做的是,你可以快速的臨時文件創建副本並上載臨時文件。

string tmp = Path.GetTempFileName(); 

using(Stream s = new FileStream(filePath, 
    FileMode.Open, FileAccess.Read, 
    // following option will let you open 
    // opened file by other process 
    FileShare.ReadWrite)){ 

    using(FileStream fs = File.OpenWrite(tmp)){ 
     // this will copy file to tmp 
     s.CopyTo(fs); 
    } 

} 

// upload tmp file... 
+0

乾杯!..這工作,並非常感謝。我只需拖放代碼。:)我認爲應該有一個配置或者什麼東西來讓我的程序能夠處理更優雅的MS Office應用程序。 –

1

你的問題是類似於我們面對。在我們的情況下,我們都連接到域目錄,問題是我們的服務器上安裝的防病毒軟件給用戶的讀/寫權限(執行exe,安裝應用程序)。所以你特別需要讓用戶有權執行一個想要使用其他應用程序的應用程序,在這種情況下,辦公室文檔。 問題擴展到使用Crystal Reports的asp應用程序。希望能幫助到你。

+0

謝謝leni,我會盡我所能。非常感謝,我對這個問題非常困惑。我不是在重新思考設計和一切 –

+0

@leni,我不認爲殺毒軟件是一個問題,因爲操作系統是能夠訪問文件,當它不是由單詞打開,Word鎖文件的獨佔訪問,只有共享訪問是允許。 –

+0

我已經嘗試過你做了什麼。你所說的是正確的,我檢查了天氣有設置,可以讓我的應用程序許可使用MS辦公室。但我無法找到這樣的。但我仍然不知道有什麼。非常感謝指導。 –

相關問題