using
System;
using
System.Data;
using
System.Configuration;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Net;
using
System.IO;
using
System.Text;
public
class
FtpUpDown
{
string
ftpServerIPout;
string
ftpServerIPin;
string
ftpUserIDout;
string
ftpUserIDin;
string
ftpPasswordout;
string
ftpPasswordin;
FtpWebRequest reqFTPout;
FtpWebRequest reqFTPin;
public
FtpUpDown(
string
ftpServerIPout,
string
ftpUserIDout,
string
ftpPasswordout,
string
ftpServerIPin,
string
ftpUserIDin ,
string
ftpPasswordin)
{
this
.ftpServerIPout = ftpServerIPout;
this
.ftpServerIPin=ftpServerIPin;
this
.ftpUserIDout = ftpUserIDout;
this
.ftpUserIDin = ftpUserIDin;
this
.ftpPasswordout = ftpPasswordout;
this
.ftpPasswordin = ftpPasswordin;
}
private
void
Connect(
string
pathout,
string
pathin)
{
reqFTPout = (FtpWebRequest)FtpWebRequest.Create(
new
Uri(pathout));
reqFTPout.UseBinary =
true
;
reqFTPout.Credentials =
new
NetworkCredential(ftpUserIDout, ftpPasswordout);
reqFTPout.Method=WebRequestMethods.Ftp.DownloadFile;
reqFTPin = (FtpWebRequest)FtpWebRequest.Create(
new
Uri(pathin));
reqFTPin.UseBinary =
true
;
reqFTPin.Credentials =
new
NetworkCredential(ftpUserIDin, ftpPasswordin);
reqFTPin.Method = WebRequestMethods.Ftp.UploadFile;
}
public
bool
Download(
string
fileName)
////上面的代码实现了从ftp服务器下载文件的功能
{
try
{
string
urlout =
"ftp://"
+ ftpServerIPout +
"/"
+ fileName;
string
urlin =
"ftp://"
+ ftpServerIPin +
"/"
+ fileName;
Connect(urlout, urlin);
FtpWebResponse response = (FtpWebResponse)reqFTPout.GetResponse();
Stream ftpStream = response.GetResponseStream();
long
cl = response.ContentLength;
int
bufferSize = 2048;
int
readCount;
byte
[] buffer =
new
byte
[bufferSize];
readCount = ftpStream.Read(buffer, 0, bufferSize);
Stream strm = reqFTPin.GetRequestStream();
while
(readCount != 0)
{
strm.Write(buffer, 0, bufferSize);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}
ftpStream.Close();
strm.Close();
response.Close();
return
true
;
}
catch
{
return
false
;
}
}
}
后台调用:
protected
void
Button1_Click(
object
sender, EventArgs e)
{
FtpUpDown ftpUpDown =
new
FtpUpDown(
"192.168.0.26"
,
"tfds"
,
"tfds"
,
"192.168.0.34"
,
"tfds"
,
"tfds"
);
ftpUpDown.Download(
"2.txt"
);
Response.Write(
"success"
);
}