自定义上传文件至ftp服务器

编辑
文档创建者:文档助手1 (67727 )     浏览次数:4112次     编辑次数:11次     最近更新:jiangsr 于 2018-09-12     

目录:

1. 描述编辑

执行完定时任务之后,如果不需要判断结果,将导出文件都上传至ftp,则可直接使用ftp上传附件,但是需要根据执行结果判断是否将该结果文件导出并上传至ftp站点,这是就可以通过自定义附件处理来实现,即定义一个java类文件,在类文件中进行结果判断,符合条件的则上传至ftp服务器,下面讲解怎么在java中实现文件上传至ftp服务器上,至于结果判断的代码这里将不进行讲述

2. 解决方案编辑

2.1 编写类文件
编写java类,继承OutputActionHandler<OutputClass>接口:
package com.fr.output; import com.fr.schedule.base.bean.output.OutputClass; import com.fr.schedule.base.bean.output.OutputFtp; import com.fr.schedule.base.constant.ScheduleConstants; import com.fr.schedule.feature.output.FTPHandler; import com.fr.schedule.feature.output.OutputActionHandler; import com.fr.stable.Filter; import java.util.ArrayList; import java.util.List; import java.util.Map; public class FTPUpload extends OutputActionHandler<OutputClass> { private FTPHandler handler = new FTPHandler(); @Override public void doAction(OutputClass action, Map<String, Object> map) throws Exception { OutputFtp ftp = new OutputFtp(); ftp.setServerAddress("192.168.1.194"); ftp.setPort(String.valueOf(21)); ftp.setSavePath("test"); ftp.setUsername("admin"); ftp.setPassword("123456"); action(ftp, map, new Filter<String>() { @Override public boolean accept(String s) { // TODO: 2018/8/23 过滤 return true; } }); } private void action(OutputFtp ftp, Map<String, Object> map, Filter<String> filter) throws Exception { String[] files = (String[]) map.get(ScheduleConstants.OUTPUT_FILES); List<String> fileList = new ArrayList<String>(); for (String file : files) { if (filter.accept(file)) { fileList.add(file); } } map.put(ScheduleConstants.OUTPUT_FILES, fileList.toArray(new String[0])); handler.doAction(ftp, map); } }
编译类文件,将生成的FTPUpload.class放在%FR_HOME%\webapps\webroot\WEB-INF\classes\com\fr\output文件夹下。
注:类文件放的位置只需要与编写类文件里面的package位置对应即可。
注:ftp的信息根据自己的ftp服务器自行填写。
2.2 定时任务
222
操作过程请参照上一节
2.3 效果查看
222





附件列表


主题: 决策系统
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?只是浏览 [ 去社区提问 ]