关于上传下载的新的方案.
一、当前程序的处理方式
在程序中将ftp的文件上传,文件下载,取得文件列表等操作封装为类的方法
这些方法使用Socket通过TCP/IP协议和服务器通讯完成ftp的文件上传,
文件下载,取得文件列表等操作
程序通过调用封装好的类的方法实现相应功能
二、新的程序的处理方式
将ftp的文件上传,文件下载,取得文件列表等操作采用Dos命令行实现
程序通过调用命令行来实现文件的上传下载
要解决的问题
1、几条ftp命令要能在一个批处理中完成(OK)
a、首先建立“ftp.scr”文件,内容如下
open 192.168.1.67 6767
user
yuanj
softroad
get jconf_contfile c:\jconf_contfile
bye
b、建立“run.bat”文件,内容如下
ftp -n -s:ftp.scr>ftp.log
2、批处理可以在vb。net中调用(OK)
Dim objExecuteFile As New System.Diagnostics.ProcessStartInfo
Dim objExecute As New System.Diagnostics.Process
objExecuteFile.FileName = "CMD.exe"
objExecuteFile.Arguments ="/c run.bat"
objExecuteFile.UseShellExecute = True
objExecute.StartInfo = objExecuteFile
objExecute.Start()
3、批处理中执行的ftp命令的返回结果要能被程序读取(OK)
“run.bat”文件中的 “ftp -n -s:ftp.scr>ftp.log”
会将ftp命令的返回结果写入“ftp.log”文件中
4、ftp命令的返回结果的分析
ftp命令ls的返回结果如下
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
1.txt
2.txt
226 Transfer complete.
ftp: 214 bytes received in 0.02Seconds 13.38Kbytes/sec.
我们需要将有用的信息提取出来,这里我们需要提取文件列表。
5、ftp.scr文件中的内容是程序动态写进入的
三、总结
1、新的程序的处理方式实现是可以的,但由于是调用命令行,属于异步调用,
返回的结果存于文本文件中,取结果需要在再去读取文本文件,还要
有同步的考虑,处理相对麻烦些