欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
    先上代码,写的jsp页面,后台是tomcat服务器,所以页面里有一些java的代码,如果后台用其他语言可以无视:
 
    复制代码
 
    代码如下:
 
    <%@页面语言=“java”contentType=“text/html;charset=UTF-8”pageEncoding=“UTF-8”%><%@pageimport=“java.io。*”%><!DOCTYPEhtmlPUBLIC“-//W3C//DTDHTML4.01Transitional//EN”“http://www.w3.org/TR/html4/loose.dtd”><html><head><metahttp-equiv=“Content-Type“content=”text/html;charset=UTF-8“><title>上传,下载文件</title><styletype=”text/css“>#filedrag{display:none;font-weight:粗体;文本对齐:居中;填充:1em0;保证金:1em0;颜色:#555;边框:2px虚线#555;border-radius:7px;游标:默认;}#filedrag.hover{颜色:#f00;
 
    边框颜色:#f00;边框样式:实心;box-shadow:嵌入03px4px#888;}</style></head><body><formid=“upload”action=“UploadServlet”enctype=“multipart/form-data”method=“post”onsubmit=“returnupLoad();”><p><labelfor=“fileselect”>文件名:</label><inputmultiple=“true”type=“file”id=“fileselect”name=“fileselect[]”/><divid=“filedrag”>或者将文件拖拽到此处</div><divid=“submitbutton”><inputtype=“submit”value=“提交”></div></form><divid=“messages”></div><%//java代码,显示服务器上可以供下载的文件Filef=newFile(“G://defggg/”);File[]list=f.listFiles();
 
    for(inti=0;i<list.length;++i){System.out.println(list[i].getName());out.print(“”+list[i].getName()+“<br/>”));}%><scripttype=“text/javascript”>varupfiles=newArray();//getElementById函数$id(id){returndocument.getElementById(id);}//输出信息函数Output(msg){varm=$id(“messages”);m.innerHTML=msg+m.innerHTML;}//文件拖动悬停函数FileDragHover(e){e.stopPropagation();e.preventDefault();
 
    e.target.className=(e.type==“dragover”?“hover”:“”);}//文件选择函数FileSelectHandler(e){//取消事件并悬停样式FileDragHover(e);//获取FileList对象varfiles=e.target.files||e.dataTransfer.files;//处理(vari=0,f;f=files[i];i++)的所有File对象{ParseFile(f);upfiles.push(f);}}//输出文件信息函数ParseFile(file){Output(“<p>文件信息:<strong>”+file.name+“</strong>类型:<strong>”+file.type+“</strong>大小:<strong>“+file.size+”<
 
    if(upfiles[0]){varxhr=newXMLHttpRequest();//Ajax异步传输数据xhr.open(“POST”,“UploadServlet”,true);varformData=newFormData();for(vari=0,f;f=upfiles[i];i++){formData.append('myfile',f);}xhr.send(formData);xhr.onreadystatechange=function(e){history.go(0);//由于这个页面还要显示可以下载的文件,所以需要刷新下页面}returnfalse;}}//初始化函数Init(){varfileselect=$id(“fileselect”),filedrag=$id(“filedrag”),submitbutton=$id(“submitbutton”);//文件选择fileselect.addEventListener(“change”,FileSelectHandler,false);
 
    varxhr=newXMLHttpRequest();if(xhr.upload){//文件拖放filedrag.addEventListener(“dragover”,FileDragHover,false);filedrag.addEventListener(“dragleave”,FileDragHover,false);filedrag.addEventListener(“drop”,FileSelectHandler,false);filedrag.style.display=“block”;//删除提交按钮//submitbutton.style.display=“none”;}}//如果(window.File&&window.FileList&&window.FileReader){Init();}</script></body></html>
 
    附上后台处理上传下载的servlet,用了smartUpLoad,不能很好的解决中文问题:
 
    复制代码
 
    代码如下:
 
    软件包com.hit.software;导入java.io.IOException;导入javax.servlet.ServletConfig;导入javax.servlet.ServletException;导入javax.servlet.annotation.WebServlet;导入javax.servlet.http.HttpServlet;导入javax.servlet.http.HttpServletRequest;导入javax.servlet.http.HttpServletResponse;导入com.jspsmart.upload.Files;导入com.jspsmart.upload.SmartUpload;/***Servlet实现类UploadServlet*/@WebServlet(“/UploadServlet”)公共类UploadServlet扩展了HttpServlet{privatestaticfinallongserialVersionUID=1L;私有ServletConfig配置;
 
    最后的公共voidinit(ServletConfigconfig)抛出ServletException{this.config=config;}/***@seeHttpServlet#HttpServlet()*/publicUploadServlet(){super();//TODO自动生成的构造函数存根}/***@参见HttpServlet#doGet(HttpServletRequest请求,HttpServletResponse*响应)*/受保护的voiddoGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{doPost(request,response);}/***@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponse*response)*/
 
    受保护的voiddoPost(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{request.setCharacterEncoding(“UTF-8”);//字符串s=request.getParameter(“pic”);//System.out.println(s);SmartUploadmySmartUpload=新的SmartUpload();尝试{mySmartUpload.initialize(config,request,response);mySmartUpload.setMaxFileSize(150*1024*1024);mySmartUpload.setTotalMaxFileSize(150*1024*1024);//mySmartUpload.setAllowedFilesList(“doc,txt,rar,pdf,png”);mySmartUpload.setDeniedFilesList(“exe”);mySmartUpload.upload();文件f=mySmartUpload.getFiles();intsize=f.getCount();
 
    for(inti=0;i<size;++i){字符串fileName=mySmartUpload.getFiles()。getFile(i).getFileName();fileName=newString(fileName.trim()。getBytes(),“UTF-8”);//能解决部分中文问题System.out.println(“filename=”+fileName);if(!fileName.equals(“”)){字符串路径=“g:/defggg/”+fileName;f.getFile(i).saveAs(path,SmartUpload.SAVE_PHYSICAL);}}}catch(Exceptione){e.printStackTrace();System.out.println(“无法上传文件。”);System.out.println(“错误:”+e.toString());}response.sendRedirect(“index.jsp”);}}
 
    复制代码
 
    代码如下:
 
    软件包com.hit.software;导入java.io.File;导入java.io.IOException;导入javax.servlet.ServletConfig;导入javax.servlet.ServletException;导入javax.servlet.annotation.WebServlet;导入javax.servlet.http.HttpServlet;导入javax.servlet.http.HttpServletRequest;导入javax.servlet.http.HttpServletResponse;导入javax.servlet.jsp.JspFactory;导入javax.servlet.jsp.JspWriter;导入javax.servlet.jsp.PageContext;导入com.jspsmart.upload.SmartUpload;导入com.jspsmart.upload.SmartUploadException;/***Servlet实现类DownloadServlet*/@WebServlet(“/DownloadServlet”)
 
    公共类DownloadServlet扩展了HttpServlet{私有静态最终长serialVersionUID=1L;私有ServletConfig配置;/***@seeHttpServlet#HttpServlet()*/publicDownloadServlet(){super();//TODO自动生成的构造函数存根}最终的公共无效init(ServletConfigconfig)抛出ServletException{this.config=config;}/***@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponse*response)*/受保护的voiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)抛出ServletException,IOException{doPost(request,response);}
 
    /***@seeHttpServlet#doPost(HttpServletRequest请求,HttpServletResponse*响应)*/受保护的无效doPost(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{request.setCharacterEncoding(“UTF-8”);字符串fileName=request.getParameter(“filename”);System.out.println(“down:”+fileName);如果(fileName==null){response.sendRedirect(“index.jsp”);返回;}fileName=“G://defggg//”+fileName;文件f=新File(fileName);如果(f.exists()&&f.isFile()){SmartUploadsu=newSmartUpload();su.initialize(config,request,response);
 
    su.setContentDisposition(null);尝试{su.downloadFile(fileName);}catch(SmartUploadExceptione){//TODO自动生成的catch块e.printStackTrace();}}其他{response.sendRedirect(“index.jsp”);返回;}}}

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h60806.shtml