如何处理发布公告时能够上传附件及提供下载

作者:动易网络 来源:本站原创 点击数: 发布时间:2013年10月08日

        在发布公告时,是不能上传附件的,因为公告的内容字段不同于文章的内容字段格式,所以要上传附件,我们必须通过添加自定义字段方式来实现。

第一步:进行入公告模型了字段管理,添加一个“文件”格式的字段,如图所示

 

保存好字段。

 

第二步:进入标签管理,修改公告的数据源标签“公告_内容页”,加上对这个字段的定义

 

添加如下代码:

  1.     "/NewDataSet/Table/fujian"/> 
  2.   

 

位置在上方即可,如图所示

 

然后保存标签。

 

第三步:添加一个再次解析这个字段的标签,因为这个字段在数据源直接解析出来的效果将会是如下格式:

  1. 下载地址1|xxgk/2013/10/2013108102317.xls 

这里的“下载地址1|”是要去掉的,所以要借用系统提供的函数来处理一下(函数参考文档请点这里)

我们可以复制一个系统已经提供的“显示下载地址”这个标签

 

然后,我们修改复制后的标签,添加个参数及最后调整定义代码:

 

添加后,点下一步,修改SQL语句如下:

  1. SELECT fujian FROM @tableName WHERE ID=(SELECT TOP 1 ItemID FROM PE_CommonModel WHERE GeneralID=@itemId AND Status = 99)  

 

然后再下一步,修改为如下代码

  1. "1.0" encoding="UTF-8"?> 
  2. "1.0" xmlns:xsl="" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:lewi="http://www.powereasy.net" xmlns:pe="labelproc" exclude-result-prefixes="pe ms lewi"
  3.   "xml" version="1.0" encoding="UTF-8" indent="yes"/> 
  4.   "itemId" /> 
  5.    "fujian" /> 
  6.   "/"
  7. if test="$fujian!= ''"
  8.     "splitStr"
  9.       with-param name="srcStr" select="$fujian"/> 
  10.      
  11. if
  12.    
  13.   "splitStr"
  14.     "srcStr"/> 
  15.     
  16.       "contains($srcStr,'$$$')"
  17.             "{pe:ConvertToAbsolutePath(substring-after(substring-before($srcStr,'$$$'),'|'))}">下载1 
  18.         "dstStr" select="substring-after($srcStr,'$$$')" /> 
  19.         
  20.           "contains($dstStr,'$$$')"
  21.             "splitStr"
  22.               with-param name="srcStr" select="$dstStr"/> 
  23.              
  24.            
  25.           
  26.                "{pe:ConvertToAbsolutePath(substring-after($dstStr,'|'))}">下载2 
  27.            
  28.          
  29.        
  30.       
  31.        "{pe:ConvertToAbsolutePath(substring-after($fujian,'|'))}">  附件下载  
  32.       
  33.      
  34.  
  35.    
  36.  

 

图片示例为:

 

然后保存此标签。

 

第四步:修改模板,添加对这个标签调用:

  1. {PE.Label id="显示下载地址(1)" itemId="@RequestInt_id" tableName="PE_U_Announce" fujian="{PE.Field id="cone" fieldname="fujian" /}" /} 

 

保存模板,这样在前台页面就能正确调用出附件的地址提供下载。