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

所属分类: 网络编程 / ASP.NET 阅读数: 1082
收藏 0 赞 0 分享

有时我们需要将来自于客户端的文件上传到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下验证通过。

更多精彩内容其他人还在看

ASP.NET 水晶报表打印功能实现代码

ASP.NET下的水晶报表打印,据我所知有以下几种办法可以打印
收藏 0 赞 0 分享

ASP.Net 图片存入数据库的实现代码

在很多时候,我们有这样的需求:把图片存入到数据库当中。在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存放在文件系统中。
收藏 0 赞 0 分享

让Silverlight 2.0动画动起来Making Silverlight 2.0 animation Start(不能运动原因)

Microsoft Expression Blend 2 制作动画个人感觉倒像3DMAX 可以自动捕捉关键帧
收藏 0 赞 0 分享

asp.net Reporting Service在Web Application中的应用

由于我们这个项目中使用微软的报表服务(Reporting Services)作为报表输出工具,本人也对它进行一点点研究,虽没有入木三分,但这点知识至少可以在大部分Reporting Service的场景中应用。
收藏 0 赞 0 分享

C# 文件上传 默认最大为4M的解决方法

.net中默只能上传小于4m的文件,大于4M将无法显示页面.那么如何设置来使imputfile能上传更大的文件呢
收藏 0 赞 0 分享

asp.net 购物车实现详细代码

asp.net 购物车实现详细代码
收藏 0 赞 0 分享

asp.net repeater实现批量删除时注册多选框id到客户端

repeater批量删除时注册多选框id到客户端的实现代码
收藏 0 赞 0 分享

asp.net aspnetpager分页统计时与实际不符的解决办法

最近分页方面根据实际需要修改了一些函数
收藏 0 赞 0 分享

iis 服务器应用程序不可用的解决方法

访问页面时提示 服务器应用程序不可用,大家可以按照下面的方法重新注册下,应该能好点
收藏 0 赞 0 分享

asp.net button 绑定多个参数

asp.net button 绑定多个参数的代码
收藏 0 赞 0 分享
查看更多