程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET將文件寫到另一服務器(圖文教程)及注意事項

ASP.NET將文件寫到另一服務器(圖文教程)及注意事項

編輯:ASP.NET基礎

有時我們需要將來自於客戶端的文件上傳到WEB服務器端,並在服務端將文件存儲到第三方文件服務器中存儲。

實現如下

1、在文件服務器B上建立一共享文件夾,同時在該服務器上創建一用戶,如DocShareUser,給此用戶分配共享文件夾的讀寫權限

2、在WEB服務器A上也同時傳建一同名用戶DocShareUser (注意,用戶名和密碼必須一致)

3、在網站下添加一虛擬目錄,虛擬目錄的物理路徑執行服務器A的共享目錄,路徑符合UNC規則,如\\ServerB\DocShare,傳遞身份驗證用戶設置為默認即可。

image

4、信任關系權限,只有在建立信任的基礎上,方可向B服務器上傳文件,該問題可通過兩種方式解決,

方式1:在Web.Config中增加運行模擬帳號<identity impersonate="true" userName="DocShareUser" password="password" />

方式2:在Global.asax中加載,網站一運行就自動建立信任關系,System.Diagnostics.Process.Start("net.exe", "use \\\\B服務器的IP\\共享文件夾 \"B服務器上的密碼\" /user:\"B服務器上的用戶名\""),B服務器上的用戶是指能寫入那個共享文件夾的用戶 (建議使用此方式,不會影響網站認證的變化)

5、步驟4如采取Web.Config中增加模擬帳號方式,則需要給C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files臨時目錄分配所建用戶DocShareUser的讀寫控制權限 (路徑視安裝Framework版本而定)

image

6、代碼中通過Server.MapPath("虛擬目錄")方式獲取上傳地址,寫入文件流即可
7、注意上傳文件IIS有默認4M限制,可通過WEB.config修改,如下
復制代碼 代碼如下:
<httpRuntime maxRequestLength="10240" appRequestQueueLimit="90" executionTimeout="90"/>

以上在WIN2008R2+IIS7下驗證通過。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved