页面中文件下载部分源码如下:
<tr>
   <td height="20" align="center" bgcolor="#FFFFFF">附件下载:</td>
     <td bgcolor="#FFFFFF"><s:if test="sysAnnounce.accessoryURL!=null"></s:if>
     <c:forTokens var="str" items="${sysAnnounce.accessoryURL}" delims=";" varStatus="status">  
        <c:out value="${str1}"/><a href="download.action?file=${str}">&nbsp;&nbsp;&nbsp;&nbsp;点击下载</a>
     </c:forTokens> 
   </td>      
</tr>
数据库中存放文件名的字段就一个,即accessoryURL。上传时文件名将会被加上一串数字与其他文件相区别,例如:1286961960218新建文本文档。所以在网页上显示就很不美观,大概是这样的:1286961960218新建文本文档  点击下载
而且只有点击“点击下载”时,才能下载,从上面的代码中也能很明显的看出。我现在想做的是将文件名分开,在网页上只显示“新建文本文档”,不要数字。和别的网站一样,直接点击“新建文本文档”这样的文件名就可以下载,去掉后面的“点击下载”。所以我想数据库应该再加一个字段,分别存放“1286961960218”和“新建文本文档”,用户点击“新建文本文档”时,实际上传入后台的值是“1286961960218”。不知道这样的想法可不可以?由于我对页面不太了解,对C标签的用法也不是很了解,还请大神们赐教啊
假设用于存放文件在服务器端的名称字段为fileName,存放文件真实名称的字段还是accessoryURL。那么,安装小弟上面的想法,上面的页面代码该如何让改进?

解决方案 »

  1.   

    上传下载都不难,关键是找对方法,我是使用Apache的插件,挺不错的,细节你就找些文档参考参考。
      

  2.   

    1.针对你原有的方案。增加一个字段可行。如果不增加字段,在数字和文件名之间加一个分隔符也行2.做下载,最好不要使用文件的原始文件名进行存储,会有很多服务端和客户端的小毛病。可以使用类似GUID的唯一性东东进行重命名(你方案中的数字就可以),文件的原始文件名保存在数据库中。
      

  3.   

    支持2楼~~一个字段是 1286961960218.txt  一个是新建文本文档