一、打开"控制面板"的"程序与功能"
二、启动IIS管理器和FTP服务器
三、在管理工具打开IIS
四、FTP服务器
1.添加服务器
2.设置服务器
3.配置
4.授予权限
5.基本编辑
6.设置连接方式
7.测试设置(双绿则OK)
五、访问方式
1.网络访问(ftp://ip地址)
2.代码访问(上传和下载)
class Http_ftp
{
public void ftpUpload(string "ftp://ip/文件",string "文件路径")
{
FtpWebRequest req;
req = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpFolderName));
req.Method = WebRequestMethods.Ftp.UploadFile;
req.UseBinary = true;
req.KeepAlive = true;
req.Timeout = 3000;
req.Credentials = new NetworkCredential("用户名", "密码");
using (FileStream fs = File.OpenRead(fileName))
{
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
Stream requestStream = req.GetRequestStream();
requestStream.Write(buffer, 0, buffer.Length);
requestStream.Flush();
requestStream.Close();
}
}
public void ftpDownload(string "ftp://ip/文件",string "文件路径")
{
string ftpServerPath = ftpFolderName;
string ftpUser = "用户名";
string ftpPwd = "密码";
string saveFilePath = fileName;
FileStream outputStream = null;
FtpWebResponse response = null;
FtpWebRequest reqFTP;
outputStream = new FileStream(saveFilePath, FileMode.Create);
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpServerPath));
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
reqFTP.UseBinary = true;
reqFTP.KeepAlive = false;
reqFTP.Timeout = 3000;
reqFTP.Credentials = new NetworkCredential(ftpUser, ftpPwd);
response = (FtpWebResponse)reqFTP.GetResponse();
Stream ftpStream = response.GetResponseStream();
int bufferSize = 2048;
int readCount;
int ftpFileReadSize = 0;
byte[] buffer = new byte[bufferSize];
readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
ftpFileReadSize += readCount;
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}
ftpStream.Close();
outputStream.Close();
response.Close();
}
}