最近做了一个附件上传下载删除的功能,特地把关键代码记录下来,方便以后复用,也分享给大家!
首先是JSP 代码:
<td class="tdHead33">附件上传:<br/><font color="red"><b>(提示:单个文件上传不得超过10M)</b></font></td>
<td id="accessoryFileTd">
<a οnclick="addFile()">添加附件</a><br/>
<!-- 循环出已经上传的附件 -->
<s:iterator value="signFileList" id="file" status="st1">
<div id="accessoryDiv<s:property value="#st1.index"/>" style="padding:3px">
<a οnclick="javascript:exportSingle('<s:property value="#file.FILE_URL"/>')" >
<s:property value='#file.FILE_NAME'/>
</a>
<a οnclick="deleteFile('accessory','<s:property value="#file.FILE_URL"/>','<s:property value="#st1.index"/>')" class="Edit_Button" href="javaScript:void(0);">
删除
</a>
</div>
</s:iterator>
</td>
然后是JS代码:
文件上传成功后,保存到数据库中的FILE_URL文件路径是文件路径+文件名称+时间戳,删除和下载都是根据FILE_URL唯一确定的。
var fileNum=1;
// 增加附件上传控件
function addFile(){
var str="<div id=\"fileDiv"+fileNum+"\"> ";
str+="<input id=\"accessoryFile\" name=\"formBean.accessoryFile\" type=\"file\"/> ";
str+=" <a id=\"delete\" οnclick=\"deleteFile("+fileNum+")\" style=\"text-decoration:underline\">删除</a>"
$("#accessoryFileTd").append(str);
fileNum++;
}
<pre name="code" class="html"> // 删除附件上传控件
function deleteFile(num){
$("#fileDiv"+num).html("");
}
function deleteFile(file,id,num){
mini.confirm("是否确认删除服务器上的文件?", "确定",
function (action) {
if (action == "ok") {
$.post(
bootPATH+