M语言上传下载FTP服务器文件资源

M语言上传下载FTP服务器文件资源

ClassMethod FtpFile() As %String
{
/*** 下载ftp资源文件 /
//ftp服务器ip地址
set ip=“10.10.0.012”
//ftp服务器文件目录
s WSDate= z d ( + zd(+ zd(+h,8)
s DouPath=ip_"/"_WSDate
//ftp服务器账号密码
s username=“ftpuser”
s password=“ftppasswd”
//ftp端口号
s port=21
//ftp文件名
s file=“Test.pdf”
//ftp文件全名
s filename="/“WSDate”/"_file
//创建ftp连接对象
s Fromftp=##class(%Net.FtpSession).%New()
//连接超时时间设置成2s
s Fromftp.Timeout=“2”
//数据传输编码
s Fromftp.CommandTranslateTable=“GB18030”
//连接ftp服务器,连接失败返回0
if 'Fromftp.Connect(ip,username,password,port){
//连接失败的消息
s ErrMessage=Fromftp.ReturnMessage
q "-1^不能连接到源系统ftp,原因: "_ErrMessage
}
s stream=##class(%GlobalCharacterStream).%New()
//设置ftp数据传输模式为Binary二进制流模式,还有ASCII模式
if 'Fromftp.Binary(){
s ErrMessage=Fromftp.ReturnMessage
//切换模式失败关闭连接
d Fromftp.Logout()
q "-1^Binary,原因: "_ErrMessage
}
//读取文件流
if 'Fromftp.Retrieve(filename,.stream){
s ErrMessage=Fromftp.ReturnMessage
//读取文件流失败关闭连接
d Fromftp.Logout()
q “-1^不能在路径"DouPath"下载下源系统pdf 原因:”_ErrMessage
}
//下载文件资源成功关闭连接
if 'Fromftp.Logout(){
s ErrMessage=Fromftp.ReturnMessage
q "-1^退出源系统ftp失败,原因: "_ErrMessage
}
/
上传ftp文件资源 ***/
//ftp服务器IP地址
s ip=“10.10.0.103”
//ftp服务器用户密码
s username=“ftpuser”
s password=“ftppasswd”
//ftp端口
s port=21
//上传ftp服务器生成的文件名,此处保持和下载的一致
s LisFilename=file
s Date= z d ( + zd(+ zd(+h,3)
//上传ftp服务器生成的文件目录
s Dir="/lis/"_KaTeX parse error: Expected group after '_' at position 14: p(Date,"-",1)_̲p(Date,"-",2)
//创建ftp连接对象
s Toftp=##class(%Net.FtpSession).%New()
s Toftp.Timeout=“2” //连接超时时间设置成2s
s Toftp.CommandTranslateTable=“GB18030”
//连接ftp
if 'Toftp.Connect(ip,username,password,port){
s ErrMessage=Fromftp.ReturnMessage
q "-1^不能连接到目标系统ftp,原因: "_ErrMessage
}
//设置ftp上写文件的当前目录
if 'Toftp.SetDirectory(Dir){
//目录不存在就创建目录
if ('Toftp.MakeDirectory(Dir)){
q “-1^新建文件夹失败”
}
}
//设置ftp上写文件的当前目录
d Toftp.SetDirectory(Dir)
if 'Toftp.SetDirectory(Dir) {
s ErrMessage=Toftp.ReturnMessage
//失败关闭ftp连接
d Toftp.Logout()
q “-1^数据中心不存在"Dir"文件夹,原因:”_ErrMessage
}
//切换数据传输模式为Binary
If 'Toftp.Binary() Quit “-1^Binary”
//上传文件,用上面下载的文件流往ftp写文件
if 'Toftp.Store(LisFilename,stream) {
s ErrMessage=Toftp.ReturnMessage
//写文件失败关闭连接
d Toftp.Logout()
q “-1^保存到ftp上pdf文件失败”_ErrMessage
}
//上传文件成功关闭连接
if 'Toftp.Logout() {
s ErrMessage=Toftp.ReturnMessage
q “-1^退出数据中心ftp失败”_ErrMessage
}
q “0”
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a digger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值