此例子是基于jspsmartupload组件的,jspsmartupload是一个不错的上传下载组件,但对中文支持不足。若下载的文件名中有汉字,则浏览器在提示另存的文件名时,显示的是一堆乱码,让人看了很不舒服,为此,有人专门修改此组件,做了编码的转换工作,将文件名转换为UTF-8形式的编码形式。我用的是网上修改过的,已经可以支持中文,相信你也可以找到,如果需要,可以联系我,我会在第一时间发给你!jar down:
http://cid-75be94924ba7fb04.skydrive.live.com/self.aspx/Public/SmartUpload%5E_zh%5E_CN.jar
在网上找了很多相关资料,自己也添加了一些js代码,基本实现了动态添加删除多文件上传的功能,如果想要做得更完美,或者把文件上传下载信息存储到数据库等,那就自己去完善了,以下是所有的源代码:
(文件下载出于安全考虑是按流的方式来进行的,而不是直接给出文件下载路径地址,所以像迅雷等下载工具是不能下载的)
首先当然是上传下载的页面了,upfile.jsp
File Uploadfunction addFile(){
var upFile = '
';
document .getElementById ("files").insertAdjacentHTML("beforeEnd",upFile);
}
function deleteFile(){
var file = document .getElementById ("files").lastChild;
if(file == null)
return;
document .getElementById ("files").removeChild(file);
file = document .getElementById ("files").lastChild; //移除换行符
所以要移两次
document .getElementById ("files").removeChild(file); //如果在表格里面不加
就自动换行的