1. 程式人生 > >上傳檔案並儲存到另外一臺伺服器

上傳檔案並儲存到另外一臺伺服器

1、在檔案伺服器上,建立一個本地帳戶(管理員許可權),比如登入名:upload,密碼:upload,注意在建立的時候選擇“密碼永不過期”,去掉勾選“使用者下次登入時須更改密碼”的選項;
2、在要共享的資料夾上點右鍵,選擇“屬性”-“安全”,增加upload帳戶可以寫入的許可權;
3、在要共享的資料夾上點右鍵,選擇“共享”,共享此資料夾,並在“許可權”按鈕點選後新增帳戶upload可修改;

4、需要在應用程式伺服器的站點下任意新建一個虛擬目錄,然後“屬性”--》“連線到另一臺計算機”--》然後在路徑裡輸入“\\檔案伺服器的IP\共享的資料夾名稱”,物理路徑憑據使用步驟1建立的賬戶名稱和密碼,確定即可
5、在另外一臺 Web 伺服器上,建立登入名和密碼與上面完全相同的本地帳戶。
6、在web.config裡,啟用模擬:      

<system.web>
    <identity impersonate="true" userName="upload" password="upload" />
</system.web>

7(可選)、web站點的Global.asax檔案里加載一句話,讓伺服器站點啟動的時候就和檔案伺服器建立信任連線
System.Diagnostics.Process.Start("cmd.exe", "net use\\\\檔案伺服器的IP\\共享的資料夾名稱 \"123456\" /user:\"test\"");  

最後儲存的時候還是按平時儲存檔案的方式就行。

protected void btn_test_Click(object sender, EventArgs e)
{
    string fileName = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
    FileUpload1.SaveAs(@"\\192.168.3.1\free\" + fileName);
}

注意: 1.以上步驟中的4,5必須按順序操作,如果後來刪除了虛擬目錄,則需要也刪除5中建立的使用者,然後按照4,5的順序再次建立即可(因為本人後來直接刪除虛擬目錄並重新建立,而沒有刪除5中的使用者,出現了問題。) 2.在做完以上步驟需要繼續完成下載或開啟功能時,如果出現要求輸入使用者名稱和密碼登入共享資料夾的情況,而設定檔案伺服器的本地策略無果的時候,在虛擬目錄中重新建立一個預設站點之外的站點,指向這個共享資料夾即可(注意新建站點的埠是否衝突)。