asp.net如何把檔案上傳到另外一台伺服器

來源:互聯網
上載者:User
asp.net如何把檔案上傳到另外一台伺服器?

我用映射網路盤的形式,可是程式無法將檔案儲存到網路映射盤上.
如何共用資料夾的話,檔案夾必須有寫入的許可權,可是這樣的話區域網路內所有的人都可以上傳到這個共用目錄了?

建議:

這個我正好做過的,呵呵,給你參考
假設有伺服器A是web伺服器,檔案要通過A伺服器上的web程式上傳到B上面
1、在B上面共用一個檔案夾,記得設定好許可權,給某個使用者有寫入的許可權
2、在A伺服器上的網站下面建立一個虛擬目錄,虛擬目錄的指向改為另外一台電腦上的共用,輸入剛才設定的使用者帳號和密碼
3、在A伺服器上傳的時候,通過server.mappath("虛擬目錄")名來擷取上傳地址
4、解決許可權問題,只有在建立信任的基礎上,你才能向B伺服器上傳檔案,建議在Global.asax中載入,這樣網站一運行就建立了信任,不用每次都去建立。建立信任的語句:
System.Diagnostics.Process.Start("net.exe", "use \\\\B伺服器的IP\\共用資料夾 \"B伺服器上的密碼\" /user:\"B伺服器上的使用者名稱\"");
上面提到的B伺服器上的使用者是指能寫入那個共用資料夾的使用者!

記得你那個使用者要能運行net.exe檔案的許可權!

簡單的測試虛擬目錄設定是否正確!
假設A是你web網站的伺服器 B是你要上傳檔案的伺服器
1、在B伺服器上共用一個檔案夾upload,並設定好許可權 開設使用者test 密碼123456 並給予test對upload的寫入許可權,同時在該檔案夾裡放入一個簡單的頁面,隨便什麼都行,輸出幾個字母就可以了【B伺服器上的操作over】
2、 在A伺服器web網站下面建立一個虛擬目錄,預設加虛擬目錄的時候是沒得選擇其他伺服器的共用資料夾的,你先隨便選擇一個本地的路徑,建立好之後,點擊該 虛擬目錄的屬性,在更改本地路徑的上面,有3個選擇,你選擇“另一台電腦上的共用”,接著設定網路路徑,格式是這樣的:\\{伺服器}\{共用名稱}, {伺服器}用IP來代替,{共用名稱}就是那個upload檔案夾,填好之後點擊後面的“串連使用者”,輸入剛才在B伺服器上使用者test 和密碼123456(當然,簡單一點,你最好先測試一下,確定A伺服器能訪問B伺服器共用的檔案夾,如果A都不能訪問B的共用,那你先解決這個問題先,測 試的方法很簡單,在瀏覽器裡輸入\\B伺服器的IP\upload,如果能輸入使用者和密碼之後能看到你剛才隨便建的那個檔案,OK,共用是可以訪問的)
3、虛擬目錄設定好了之後,你可以測試一下,在A的web網站下面通過程式擷取一下虛擬目錄的路徑,如果是成功的,路徑應該是伺服器B的IP+upload檔案夾。
4、 接下來的工作就是上傳檔案了,這個時候你直接上傳應該都是可以的,應該你剛才已經輸入過訪問B伺服器upload的帳號和密碼,也就是說A和B已經建立了 信任連接,不過如果你重啟伺服器,剛才建立的串連也就不存在了。所以在A伺服器web網站的Global.asax檔案裡載入一句話,讓A伺服器網站啟動 的時候就和B建立信任連接
System.Diagnostics.Process.Start("net.exe", "use \\\\B伺服器的IP\\upload \"123456\" /user:\"test\"");
上面的語句就是建立信任連接的,放在global.asax的好處就是網站啟動就建立串連,因為這種信任連接是可持久性的,不會象session一樣到期,只有在重啟A伺服器的時候這種信任連接才會消失。

不曉得你明白沒有?不過我可以肯定,這個是可以實現的,因為我剛剛做過這塊。
後話:至於上傳到B伺服器上的檔案怎麼訪問,那就比較方便了。
一種方式:還是通過A伺服器web網站下面的虛擬目錄來訪問,這種情況下,B伺服器只是提供空間
另一種方式:在B伺服器上建立一個網站,指向該目錄,這樣B伺服器分擔了訪問檔案時IIS的工作任務.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.