//文件夹与文件列表
private bool ListDirectory(string rootDirSystem, string PresentDirOfFTP, ref NetworkStream nw) {
//打开文件夹
string strPath = rootDirSystem + PresentDirOfFTP;
string strFilenameTemp = "";
// Directory oDir = new Directory(strPath);
//File.
string[] oFiles = Directory.GetFiles(strPath); //获取某个文件夹下的文件
string[] oDirectories = Directory.GetDirectories(strPath); //获取某个文件夹下的子文件夹
try {
//读取文件列表并传送
foreach (string oFile in oFiles) {
string strFile;
strFile="-rwxr--r-- 1 owner group ";
FileInfo info = new FileInfo(oFile);
try {
if(oFile.Substring(oFile.Length-4).ToLower()!=".sys") {
strFilenameTemp = info.FullName.Replace(Convert.ToChar("\\"), '/');
strFile += oFile.Length + " " + File.GetLastWriteTime(oFile).ToString("MM-dd-yyyy");
strFile+=" "+strFilenameTemp.Trim()+"\r\n";
byte[] Buffer=Encoding.ASCII.GetBytes(strFile);
try{
if(nw.CanWrite) {
nw.Write(Buffer,0,Buffer.Length);
}
}
catch(Exception ex){
m_ErrorMsg = DateTime.Now.ToLongTimeString() + ":" + ex.Message + " | ";
FTPServerLogFile.SaveSystemErrorInfo(m_ErrorMsg);
}
}
}
catch(Exception ex){
m_ErrorMsg = DateTime.Now.ToLongTimeString() + ":" + ex.Message + " | ";
FTPServerLogFile.SaveSystemErrorInfo(m_ErrorMsg);
}
}
//读取文件夹列表并传送
foreach(string oDirectorie in oDirectories) {
string strDirectory;
strDirectory = "drwxr-xr-x 1 owner group ";
DirectoryInfo dirInfo = new DirectoryInfo(oDirectorie); strFilenameTemp = dirInfo.FullName.Replace(Convert.ToChar("\\"), '/');
strDirectory += " 0 " + " " + Directory.GetCreationTime(oDirectorie).ToString("MM-dd-yyyy");
strDirectory += " " + strFilenameTemp.Trim() + "\r\n";
byte[] Buffer = Encoding.ASCII.GetBytes(strDirectory);
try {
if (nw.CanWrite) {
nw.Write(Buffer, 0, Buffer.Length);
}
}
catch (Exception ex){
m_ErrorMsg = DateTime.Now.ToLongTimeString() + ":" + ex.Message + " | ";
FTPServerLogFile.SaveSystemErrorInfo(m_ErrorMsg);
}
}
}
catch(IOException ex) {
m_ErrorMsg = DateTime.Now.ToLongTimeString() + ":" + ex.Message + " | ";
FTPServerLogFile.SaveSystemErrorInfo(m_ErrorMsg);
return false;
}
return true;
}
写了一个FTP服务端传输文件列表的方法,但是用CuteFTP测试无法接收到内容,是不是格式的问题请高手解答,成功后马上给分
private bool ListDirectory(string rootDirSystem, string PresentDirOfFTP, ref NetworkStream nw) {
//打开文件夹
string strPath = rootDirSystem + PresentDirOfFTP;
string strFilenameTemp = "";
// Directory oDir = new Directory(strPath);
//File.
string[] oFiles = Directory.GetFiles(strPath); //获取某个文件夹下的文件
string[] oDirectories = Directory.GetDirectories(strPath); //获取某个文件夹下的子文件夹
try {
//读取文件列表并传送
foreach (string oFile in oFiles) {
string strFile;
strFile="-rwxr--r-- 1 owner group ";
FileInfo info = new FileInfo(oFile);
try {
if(oFile.Substring(oFile.Length-4).ToLower()!=".sys") {
strFilenameTemp = info.FullName.Replace(Convert.ToChar("\\"), '/');
strFile += oFile.Length + " " + File.GetLastWriteTime(oFile).ToString("MM-dd-yyyy");
strFile+=" "+strFilenameTemp.Trim()+"\r\n";
byte[] Buffer=Encoding.ASCII.GetBytes(strFile);
try{
if(nw.CanWrite) {
nw.Write(Buffer,0,Buffer.Length);
}
}
catch(Exception ex){
m_ErrorMsg = DateTime.Now.ToLongTimeString() + ":" + ex.Message + " | ";
FTPServerLogFile.SaveSystemErrorInfo(m_ErrorMsg);
}
}
}
catch(Exception ex){
m_ErrorMsg = DateTime.Now.ToLongTimeString() + ":" + ex.Message + " | ";
FTPServerLogFile.SaveSystemErrorInfo(m_ErrorMsg);
}
}
//读取文件夹列表并传送
foreach(string oDirectorie in oDirectories) {
string strDirectory;
strDirectory = "drwxr-xr-x 1 owner group ";
DirectoryInfo dirInfo = new DirectoryInfo(oDirectorie); strFilenameTemp = dirInfo.FullName.Replace(Convert.ToChar("\\"), '/');
strDirectory += " 0 " + " " + Directory.GetCreationTime(oDirectorie).ToString("MM-dd-yyyy");
strDirectory += " " + strFilenameTemp.Trim() + "\r\n";
byte[] Buffer = Encoding.ASCII.GetBytes(strDirectory);
try {
if (nw.CanWrite) {
nw.Write(Buffer, 0, Buffer.Length);
}
}
catch (Exception ex){
m_ErrorMsg = DateTime.Now.ToLongTimeString() + ":" + ex.Message + " | ";
FTPServerLogFile.SaveSystemErrorInfo(m_ErrorMsg);
}
}
}
catch(IOException ex) {
m_ErrorMsg = DateTime.Now.ToLongTimeString() + ":" + ex.Message + " | ";
FTPServerLogFile.SaveSystemErrorInfo(m_ErrorMsg);
return false;
}
return true;
}
写了一个FTP服务端传输文件列表的方法,但是用CuteFTP测试无法接收到内容,是不是格式的问题请高手解答,成功后马上给分
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货