作者:tonny
EMAIL:webmaster@weiw.com
转载请显示出处:http://www.weiw.com
环境说明:
局域网内的两台服务器,一台当作主WEB服务器,一台作文件服务器,
两服务器操作系统为win2000 professional(或win2000 server)
主WEB服务器 局域网内部URL:http://main:8080 外部URL
服务器计算机名为:main WEB站点的端口为8080
文件服务器 局域网内部URL:http://file:8080
服务器计算机名为:file WEB站点的端口为8080
需求介绍:
访问者访问WEB服务器,上传文件时将文件放于文件服务器,如生成一些信息之类的静态页面,也在文件服务器上生成。WEB服务器并不保留文件副本。并且允许生成ASPX格式的文件。
解决方法:
文件服务器IIS设置站点。http://file:8080,设一目录用于存放上传文件,命名为UpFile。
并且把当前目录属性-->安全-->权限中加入一预留给专供上传的域用户账号,权限当然是完全控制。
在WEB服务器上,根目录下原先有Upfile目录。现将此目录从IIS中删除,然后在IIS中建立一虚拟目录,名为Upfile,目标指向文件服务器上的Upfile目录。当然还是要加上可写可读的权限。
将文件上传至文件服务器的程序例子:
test.cs (运行于Web服务器上的程序)
using System.Text;
string virtualPath="test01"; //欲建立在upfile目录下的文件夹名称;
string rootUpfilePath = @"http://file:8080/upfile/"; //文件服务器 (非本程序运行的服务器)
string uriString = rootUpfilePath + virtualPath +"/"; //URL路径
//CreateDirectory.aspx 此文件用于在目的服务器(文件服务器)上Upfile目录下,用于建立相应目录。
string path = rootUpfilePath + "CreateDirectory.aspx?Path="+virtualPath;
string filename="test.htm"; //此为生成的文件名
string MyString = "这是建立的文件内容" ;
UTF8Encoding AE = new UTF8Encoding();
byte[] input = AE.GetBytes(MyString);
int intLength=input.Length;
string username = @"domain_a/cqweb"; //“域名称/域用户名”
string password = @&