欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET将文件写到另一服务器(图文教程)及注意事项

程序员文章站 2024-03-31 18:06:34
有时我们需要将来自于客户端的文件上传到web服务器端,并在服务端将文件存储到第三方文件服务器中存储。 实现如下: 1、在文件服务器b上建立一共享文件夹,同时在该服务器上...

有时我们需要将来自于客户端的文件上传到web服务器端,并在服务端将文件存储到第三方文件服务器中存储。

实现如下

1、在文件服务器b上建立一共享文件夹,同时在该服务器上创建一用户,如docshareuser,给此用户分配共享文件夹的读写权限

2、在web服务器a上也同时传建一同名用户docshareuser (注意,用户名和密码必须一致)

3、在网站下添加一虚拟目录,虚拟目录的物理路径执行服务器a的共享目录,路径符合unc规则,如\\serverb\docshare,传递身份验证用户设置为默认即可。

ASP.NET将文件写到另一服务器(图文教程)及注意事项

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版本而定)

ASP.NET将文件写到另一服务器(图文教程)及注意事项

6、代码中通过server.mappath("虚拟目录")方式获取上传地址,写入文件流即可
7、注意上传文件iis有默认4m限制,可通过web.config修改,如下

复制代码 代码如下:

<httpruntime maxrequestlength="10240" apprequestqueuelimit="90" executiontimeout="90"/>

以上在win2008r2+iis7下验证通过。