天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 2014|回复: 0

[源码] 使用脚本删除平台中使用“文件上传”控件上传的文件【源码-文件上传控件】

[复制链接]
bess 发表于 2012-4-17 20:44:36 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2013-1-30 17:59 编辑

Q:怎么使用脚本删除平台中使用“文件上传”控件上传的文件。
A:1.在/obpm/src/main/java/cn/myapps/core/dynaform/document/ejb/Document.java中添加如下方法:
  1. /**
  2.          * 删除上传文件
  3.          *
  4.          * @return
  5.          * @throws Exception
  6.          */
  7.         public void doDeleteFile(String fileFullName) {
  8.                 try {
  9.                         if (!StringUtil.isBlank(fileFullName)) {
  10.                                 fileFullName = URLDecoder.decode(fileFullName,"UTF-8");
  11.                                 UploadProcess uploadProcess = (UploadProcess) ProcessFactory.createRuntimeProcess(UploadProcess.class, this.applicationid);
  12.                                 String[] fileFullNameArry = fileFullName.split(";");
  13.                                 for (int i = 0; i < fileFullNameArry.length; i++) {
  14.                                         UploadVO uploadVO = (UploadVO) uploadProcess.findByColumnName1("PATH", fileFullNameArry[i]);
  15.                                         if (uploadVO != null) {
  16.                                                 String fileRealPath = Environment.getInstance().getRealPath(uploadVO.getPath());
  17.                                                 File file = new File(fileRealPath);
  18.                                                 if (file.exists()) {
  19.                                                         if (!file.delete()) {
  20.                                                                 Log.warn("File(" + fileRealPath + ") delete failed");
  21.                                                                 throw new Exception("File(" + fileRealPath + ") delete failed");
  22.                                                         }
  23.                                                 }
  24.                                                 uploadProcess.doRemove(uploadVO.getId());
  25.                                         }
  26.                                 }
  27.                         }
  28.                 } catch (Exception e) {
  29.                         e.printStackTrace();
  30.                 }
  31.         }
复制代码
2.把文件上传控件的属性页面的刷新勾选上,然后插入一个按钮,类型选择无,同时勾选上刷新选项,在动作执行后脚本中写入下面代码:
  1. var currentDocument = getCurrentDocument();
  2. var  field = currentDocument .findItem("文件上传");
  3. currentDocument .doDeleteFile(field.getValue());
  4. field .setValue("");
复制代码
详情见附图: 文件上传控件上传文件使用脚本删除.png

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 12:37

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表