ITPub博客

首页 > 数字化转型 > 其他 > 开源OA系统搭建教程:在服务或代理中实现sftp的上传

开源OA系统搭建教程:在服务或代理中实现sftp的上传

原创 其他 作者:o2oa 时间:2021-10-11 15:41:29 0 删除 编辑

一、 功能介绍

通过在o2服务管理下的代理服务或接口服务中实现sftp上传。


二、以接口服务为例

    从菜单进入应用-服务管理-接口配置,新建一个接口代码如下:

/********************

this.entityManager; //实体管理器

this.applications; //访问系统内服务

this.requestText//请求正文

this.request//请求

this.currentPerson//当前用户

this.response//响应对象。通过this.response.setBody(data)设置响应内容

this.organization; //组织访问

this.org; //组织快速访问方法

this.service; //webSerivces客户端

********************/

try {

var StandardFileSystemManager =  Java .type( 'org.apache.commons.vfs2.impl.StandardFileSystemManager' );

var manager =  new StandardFileSystemManager ();

manager.init();

print( "ok---------------1" )

var NameValuePair =  Java .type( 'org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder' );

var sftpBuilder =  NameValuePair .getInstance();

var FileSystemOptions =  Java .type( 'org.apache.commons.vfs2.FileSystemOptions' );

var opts =  new FileSystemOptions ();

sftpBuilder.setStrictHostKeyChecking(opts,  "no" );

sftpBuilder.setUserDirIsRoot(opts,  true );

sftpBuilder.setTimeout(opts,  10000 );

print( "ok---------------2" )

//sftp用户名

var sftpuser =  "root" ;

//sftp密码

var sftppassword =  "xxxxx" ;

//sftp主机ip

var sftphost =  "xxxxxx" ;

//sftp远程目录

var remoteDownLoadPath =  "/home/taizhangsftp/history.json" ;

//sftp本地目录

var localDires =  "/data/o2server/local/temp/history.json" ;

var sftpUri =  "sftp://" +sftpuser+ ":" +sftppassword+ "@" +sftphost+remoteDownLoadPath;

print( "sftpUri=" +sftpUri);

var File =  Java .type( 'java.io.File' );

var fileObj =  new File (localDires);

var localFile = manager.resolveFile(fileObj.getAbsolutePath());

var remoteFile = manager.resolveFile(sftpUri, opts);

var Selectors =  Java .type( 'org.apache.commons.vfs2.Selectors' );

localFile.copyFrom(remoteFile,  Selectors . SELECT_SELF );

print( "ok---------------3" );

} catch (e) {

print( "sftp上传错误" );

print(e);

}

"xxxx" ;


三、运行接口

运行接口结果如图:


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31563356/viewspace-2795355/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
开源主页 : https://www.oschina.net/p/o2oa 官方网站 : https://www.o2oa.net/

注册时间:2018-11-22

  • 博文量
    261
  • 访问量
    173220