关于流程附件
在泛微OA系统中,流程存在用户上传一些相关附件,OA系统自己内部有文件机制,会将上传文件自动压缩上传,最后转换为一个id给的用户,用户通过这个id可以查询对应文件信息。
如果在业务中,需要将该附件发生给第三方系统,要如何实现,有以下两种方式:
提供下载链接给到第三方
/***
fileid : 流程中文件的id
serverIp: 服务器ip地址、或者域名
***/
public String getFileDownUrl(String serverIp,String fileid) throws Exception{
String downUrl = "%s/weaver/weaver.file.FileDownload?fileid=%s&download=1&ddcode=%s";
//使用泛微对应的该方法
weaver.docs.docs.util.DesUtils des = new weaver.docs.docs.util.DesUtils();
String ddcode = 1+ "_" + fileid;
ddcode = des.encrypt(ddcode);
return String.format(downUrl, serverIp,fileid,ddcode);
}
通过使用上述方法即可将对应文件转换为下载链接,提供该链接给到其他系统可以直接下载该文件。
将文件直接发送第三方系统
//imagefileid: 通过DocImageFile表查docid对应的imagefileid字段。
//调用泛微的方法获取InputStream,即可转换成要下载的附件,
// 该方法中还有其他相关方法,大家可自行代码查看
public InputStream getFile(int imagefileid) {
ImageFileManager imageFileManager = new ImageFileManager();
imageFileManager.getImageFileInfoById(imagefileid);
// ImageFileManager 中还有一些其它,方法可以根据需求使用
InputStream inputStream = imageFileManager.getInputStream();
return inputStream;
}
以上2种方式都可以将系统中的附件发送给其他系统。