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

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

[常见问题] 视图展示附件信息并下载

[复制链接]
Chain 发表于 2019-7-9 18:14:33 | 显示全部楼层 |阅读模式
使用场景:用户上传附件到表单中,在表单中显示附件的信息(文件名称、文件类型、文件大小、上传时间)。

第一步:添加附件上传控件。

视图附件00.png

第二步:获取上传的附件名称。
  1. (function(){
  2. var name="";
  3. var doc=getCurrentDocument();
  4. var jsonText = doc.getItemValueAsString("附件上传"); //附件上传控件名称
  5. if(jsonText!=""){
  6.         println("文件json格式"+jsonText);
  7.                 var jsonArray = new Packages.org.json.JSONArray(jsonText);  
  8.                 for(var ii=0;ii<jsonArray.length();ii++){      
  9.                         var jsonObject = jsonArray.getJSONObject(ii);            
  10.                         name+= jsonObject.getString("name");      
  11.                 }   
  12. }
  13.    
  14. return name;
  15. })();
复制代码
第三步:获取上传的附件类型。
  1. (function(){
  2. var doc=getCurrentDocument();
  3. var name=doc.getItemValueAsString("文件名称");//获取附件的名称进行SQL查询
  4. println("name-------->"+name);
  5. var sql="SELECT  '"+getDomainid()+"' as DOMAINID,type as item_type FROM t_upload WHERE NAME='"+name+"'";
  6. println("sql-------->"+sql);
  7. var type="";
  8. var query =queryBySQL(sql);
  9. if(query!=null){
  10.         var iter&#160; =query.iterator();
  11.                 if(iter != null && iter.hasNext()){
  12.                         doc = iter.next();
  13.                         rtn = doc.getItemValueAsString("type");
  14.                         println("rtn->"+rtn);
  15.                         if(rtn==".doc"||rtn==".docx"){
  16.                                 type="doc";
  17.                         }else if(rtn==".xls"||rtn==".xlsx"){
  18.                                 type="xls";
  19.                         }else if(rtn==".ppt"||rtn==".pptx"){
  20.                                 type="ppt";
  21.                         }
  22. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}
  23.         }
  24. return type;
  25. })()
复制代码
第四步:获取上传的附件的大小。
  1. (function(){
  2. var doc=getCurrentDocument();
  3. var name=doc.getItemValueAsString("文件名称");
  4. println("name-------->"+name);
  5. if(name!=""){
  6.         var sql="SELECT  '"+getDomainid()+"' as DOMAINID, filesize as item_size  FROM t_upload WHERE NAME='"+name+"'";
  7.         println("sql-------->"+sql);
  8.         var query =queryBySQL(sql);
  9.         var rtn="";
  10.         if(query!=null){
  11.         var iter&#160; =query.iterator();
  12.                 if(iter != null && iter.hasNext()){
  13.                         doc = iter.next();
  14.                         rtn = round(doc.getItemValueAsDouble("size")/1024,1);
  15.                                 println("rtn---->"+rtn);
  16.                                 if(rtn>="1024"){
  17.                                         rtn=round((rtn/1024),1)+"M";
  18.                                 }else{
  19.                                         rtn=round(rtn,0)+"K";
  20.                                 }
  21. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}
  22.         }
  23. }
  24. return rtn;
  25. })();
复制代码
第五步:在视图添加列,并设置值脚本模式。

视图附件02.png
  1. (function(){
  2. var path="";
  3. var doc=getCurrentDocument();
  4. var jsonText = doc.getItemValueAsString("附件上传");
  5. if(jsonText!=""){
  6.         println("文件json格式"+jsonText);
  7.                 var jsonArray = new Packages.org.json.JSONArray(jsonText);  
  8.                 for(var ii=0;ii<jsonArray.length();ii++){      
  9.                         var jsonObject = jsonArray.getJSONObject(ii);            
  10.                         path+= jsonObject.getString("path");
  11.                         var request = $WEB.getParamsTable().getHttpRequest();
  12.                         println("request==="+request);
  13.                         var url="http://" + request.getServerName()+":" + request.getServerPort() + request.getContextPath();
  14.                         path=url+path;
  15.                         println("pathsss-------->"+path);
  16.                 }   
  17. }
  18. return "<a href='"+path+"'>下载</a>";
  19. })();
复制代码
效果展示:
视图附件01.png

附件视图.gif

本版积分规则

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

GMT+8, 2026-8-12 11:22

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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