获取附件url,下载附件原创
8人赞赏了该文章
9,496次浏览
编辑于2021年10月08日 18:13:08
使用附件帮助类AttachmentServiceHelper获取附件的url
1.创建单据页面并新增一条单据、上传三个附件
选择附件控件,打开图片显示缩略图
添加三个附件:
2.创建动态表单,放置一个按钮,注册插件
3.编写插件代码,获取附件url
以下代码的思路是:
获取单据标识为kdec_textile_bill的字段id数据,取第一条单据的附件信息。
使用 AttachmentServiceHelper.getAttachments(),三个参数分别是 单据标识、单据id、单据附件控件标识
import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.datamodel.events.BizDataEventArgs; import kd.bos.entity.datamodel.events.GetEntityTypeEventArgs; import kd.bos.form.events.PreOpenFormEventArgs; import kd.bos.form.plugin.AbstractFormPlugin; import kd.bos.servicehelper.AttachmentServiceHelper; import kd.bos.servicehelper.QueryServiceHelper; import java.util.*; public class DemoTestPlugin extends AbstractFormPlugin { @Override public void registerListener(EventObject e) { super.registerListener(e); addClickListeners("kdec_buttonap"); } @Override public void click(EventObject evt) { super.click(evt); // 查询单据kdec_textile_bill的id字段 DynamicObjectCollection collection = QueryServiceHelper.query("kdec_textile_bill", "id", null); // 获取首行的id,注意:这里只做展示,没有做异常校验,如果单据一行数据都没有,会报异常 Long id = (Long) collection.get(0).get("id"); List<Map<String, Object>> list = AttachmentServiceHelper.getAttachments("kdec_textile_bill", id, "attachmentpanel"); for (Map map : list) { String url = map.get("url").toString(); System.out.println(url); } } }
查看单据kdec_textile_bill里面的附件控件标识:
4.效果
后台打印了上传的三条url
复制一条附件的url,粘贴到浏览器,点击“确定”查看图片:
赞 8
8人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读