历史版本10 :自定义上传文件至FTP服务器 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 问题描述编辑
执行完定时任务之后,如果不需要判断结果,将导出文件都上传至ftp,则可直接使用ftp上传附件,但是需要根据执行结果判断是否将该结果文件导出并上传至ftp站点,这是就可以通过自定义附件处理来实现,即定义一个java类文件,在类文件中进行结果判断,符合条件的则上传至ftp服务器,下面讲解怎么在java中实现文件上传至ftp服务器上,至于结果判断的代码这里将不进行讲述
2. 解决方案编辑
2.1 编写类文件
编写java类,继承OutputActionProvider接口
package com.fr.output;
import java.io.File;
import com.fr.data.dao.CompatiableIDFCMapper;
import com.fr.data.dao.ObjectTableMapper;
import com.fr.json.JSONException;
import com.fr.json.JSONObject;
import com.fr.schedule.output.AbstractOutputFileAction;
import com.fr.schedule.output.FTPTransmission;
import com.fr.schedule.output.OutputFileAction;
import com.fr.schedule.output.ftp.DefaultFTPTransmit;
public class FTPUpload extends AbstractOutputFileAction {
@Override
public ObjectTableMapper objectTableMapper2Register() {
return null;
}
@Override
public long getId() {
return 0;
}
@Override
public File[] getFilesToDealWith(File[] files) {
return files;
}
@Override
public void doFileAction(File[] files) {
FTPTransmission ftp=new FTPTransmission();
ftp.setServerAddress("192.168.100.100");
ftp.setPort(23);
ftp.setSavePath("test");
ftp.setUsername("1");
ftp.setPassword("1");
try {
new DefaultFTPTransmit().transmit(files, ftp.getServerAddress(), ftp.getPort(), ftp.getUsername(), ftp.getPassword(), ftp.getSavePath());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public CompatiableIDFCMapper getExtraOutputFileActionForeignKey() {
return null;
}
@Override
public boolean isEmailNotification() {
// TODO Auto-generated method stub
return false;
}
@Override
public OutputFileAction analyzeJSON(JSONObject arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public JSONObject createJSONConfig() throws JSONException {
// TODO Auto-generated method stub
return null;
}
@Override
public String getJsonTag() {
// TODO Auto-generated method stub
return null;
}
}
编译类文件,将生成的FTPUpload.class放在%FineReport_home%\WebReport\WEB-INF\classes\com\fr\output文件夹下。
注:类文件放的位置只需要与编写类文件里面的package位置对应即可。
注:ftp的信息根据自己的ftp服务器自行填写。
2.2 定时任务

操作过程请参照上一节。
2.3 效果查看
