ASP.NET將文件寫到另一服務(wù)器(圖文教程)及注意事項(xiàng)
有時(shí)我們需要將來自于客戶端的文件上傳到WEB服務(wù)器端,并在服務(wù)端將文件存儲(chǔ)到第三方文件服務(wù)器中存儲(chǔ)。
實(shí)現(xiàn)如下:
1、在文件服務(wù)器B上建立一共享文件夾,同時(shí)在該服務(wù)器上創(chuàng)建一用戶,如DocShareUser,給此用戶分配共享文件夾的讀寫權(quán)限
2、在WEB服務(wù)器A上也同時(shí)傳建一同名用戶DocShareUser (注意,用戶名和密碼必須一致)
3、在網(wǎng)站下添加一虛擬目錄,虛擬目錄的物理路徑執(zhí)行服務(wù)器A的共享目錄,路徑符合UNC規(guī)則,如\\ServerB\DocShare,傳遞身份驗(yàn)證用戶設(shè)置為默認(rèn)即可。

4、信任關(guān)系權(quán)限,只有在建立信任的基礎(chǔ)上,方可向B服務(wù)器上傳文件,該問題可通過兩種方式解決,
方式1:在Web.Config中增加運(yùn)行模擬帳號(hào)<identity impersonate="true" userName="DocShareUser" password="password" />
方式2:在Global.asax中加載,網(wǎng)站一運(yùn)行就自動(dòng)建立信任關(guān)系,System.Diagnostics.Process.Start("net.exe", "use \\\\B服務(wù)器的IP\\共享文件夾 \"B服務(wù)器上的密碼\" /user:\"B服務(wù)器上的用戶名\""),B服務(wù)器上的用戶是指能寫入那個(gè)共享文件夾的用戶 (建議使用此方式,不會(huì)影響網(wǎng)站認(rèn)證的變化)
5、步驟4如采取Web.Config中增加模擬帳號(hào)方式,則需要給C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files臨時(shí)目錄分配所建用戶DocShareUser的讀寫控制權(quán)限 (路徑視安裝Framework版本而定)

6、代碼中通過Server.MapPath("虛擬目錄")方式獲取上傳地址,寫入文件流即可
7、注意上傳文件IIS有默認(rèn)4M限制,可通過WEB.config修改,如下
<httpRuntime maxRequestLength="10240" appRequestQueueLimit="90" executionTimeout="90"/>
以上在WIN2008R2+IIS7下驗(yàn)證通過。
相關(guān)文章
.NET6中哈希算法的簡(jiǎn)化用法的實(shí)現(xiàn)
本文主要介紹了.NET 6中哈希算法的簡(jiǎn)化用法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0)
這篇文章主要為大家詳細(xì)介紹了ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0),感興趣的小伙伴們可以參考一下2016-07-07
Winform OpenFileDialog打開文件對(duì)話框
這篇文章主要為大家詳細(xì)介紹了Winform OpenFileDialog打開文件對(duì)話框 的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
asp.net SqlDataAdapter對(duì)象使用札記
如果 DataAdapter 遇到多個(gè)結(jié)果集,它將在 DataSet 中創(chuàng)建多個(gè)表。將向這些表提供遞增的默認(rèn)名稱 TableN,以表示 Table0 的“Table”為第一個(gè)表名。2009-04-04
ASP.NET獲取MS SQL Server安裝實(shí)例實(shí)現(xiàn)思路及代碼
在演示中,是把找到的實(shí)例顯示于DropDownList控件中。首先在.aspx拉一個(gè)DropDownList控件,感興趣的朋友可以了解下哦,或許對(duì)你有所幫助2013-01-01

