假设一个流程表单主表formtable_main_120有附件字段,类型为text(泛微附件默认类型),附件信息表为DocImageFile,docid类型为int,根据表单的requestid查询这个附件的信息,其中附件可能为多个或一个, 查询sql如下:
formtable_main_120表
DocImageFile表
SELECT di.docid, di.imagefileid, di.imagefilename
FROM DocImageFile di
JOIN formtable_main_120 fm ON CHARINDEX(',' + CAST(di.docid AS VARCHAR(MAX)) + ',', ',' + CONVERT(VARCHAR(MAX), fm.fj) + ',') > 0
WHERE fm.requestId = requestid
通过sql可以得到imagefileid,action实现中进而通过ImageFileManager.getInputStreamById(imageFileId);得到InputStream,从而得到附件文件进行保存或其他处理。