有時我們需要將來自于客戶端的文件上傳到WEB服務(wù)器端,并在服務(wù)端將文件存儲到第三方文件服務(wù)器中存儲。
實現(xiàn)如下:
1、在文件服務(wù)器B上建立一共享文件夾,同時在該服務(wù)器上創(chuàng)建一用戶,如DocShareUser,給此用戶分配共享文件夾的讀寫權(quán)限
2、在WEB服務(wù)器A上也同時傳建一同名用戶DocShareUser (注意,用戶名和密碼必須一致)
3、在網(wǎng)站下添加一虛擬目錄,虛擬目錄的物理路徑執(zhí)行服務(wù)器A的共享目錄,路徑符合UNC規(guī)則,如\\ServerB\DocShare,傳遞身份驗證用戶設(shè)置為默認(rèn)即可。
4、信任關(guān)系權(quán)限,只有在建立信任的基礎(chǔ)上,方可向B服務(wù)器上傳文件,該問題可通過兩種方式解決,
方式1:在Web.Config中增加運行模擬帳號identity impersonate="true" userName="DocShareUser" password="password" />
方式2:在Global.asax中加載,網(wǎng)站一運行就自動建立信任關(guān)系,System.Diagnostics.Process.Start("net.exe", "use \\\\B服務(wù)器的IP\\共享文件夾 \"B服務(wù)器上的密碼\" /user:\"B服務(wù)器上的用戶名\""),B服務(wù)器上的用戶是指能寫入那個共享文件夾的用戶 (建議使用此方式,不會影響網(wǎng)站認(rèn)證的變化)
5、步驟4如采取Web.Config中增加模擬帳號方式,則需要給C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files臨時目錄分配所建用戶DocShareUser的讀寫控制權(quán)限 (路徑視安裝Framework版本而定)
6、代碼中通過Server.MapPath("虛擬目錄")方式獲取上傳地址,寫入文件流即可
7、注意上傳文件IIS有默認(rèn)4M限制,可通過WEB.config修改,如下
復(fù)制代碼 代碼如下:
httpRuntime maxRequestLength="10240" appRequestQueueLimit="90" executionTimeout="90"/>
以上在WIN2008R2+IIS7下驗證通過。
您可能感興趣的文章:- Asp.net獲取服務(wù)器指定文件夾目錄文件并提供下載的方法
- asp.net檢查服務(wù)器上目錄或文件是否存在的方法
- 修改服務(wù)器配置 讓asp.net文件后綴名隨心所欲
- 修改服務(wù)器配置,讓asp.net文件后綴名隨心所欲
- asp.net實現(xiàn)服務(wù)器文件下載到本地的方法