1.文件名稱添加點擊事件
<a href="javascript:void(0);" id="wjm" onclick="wjxz();" style="cursor:pointer;text-decoration:underline;color:blue;" title="文件名" >
<span class="detailSpan">文件名</span>
</a>
<!-- 這里加了樣式:1.cursor:pointer;(當把鼠標放上后,顯示為小手),2.text-decoration:underline;(文件名下有下划線),3.color:blue;(文件名顏色為藍色)-->
2.點擊文件名觸發的函數
獲取文件的絕對路徑和文件名稱,並作為參數傳遞到下載的jsp中。
/** * 文件下載 */ function wjxz(){ var path = $("#wjlj").val(); var wjm = $("#wjm").attr('title'); var url="wjxz.jsp?path="+path+"&wjm="+wjm; window.open(url); }
3.復制該路徑下的文件,完成下載
1 jsp中引入java代碼 2 <% 3 out.clear(); 4 out = pageContext.pushBody(); 5 response.setContentType("application/x-msdownload"); 6 String wjm = RequestUtils.getParam(request, "wjm"); 7 String path = RequestUtils.getParam(request, "path"); 8 response.addHeader("Content-Disposition","attachment;fileName="+CommFunction.toUtf8String(wjm)); 9 OutputStream os = response.getOutputStream(); 10 FileInputStream fis = new FileInputStream(path); 11 try{ 12 byte[] b = new byte[1024]; 13 int m = 0; 14 while ( (m = fis.read(b)) > 0 ){ 15 os.write(b, 0, m); //寫文件 16 } 17 fis.close(); 18 os.flush(); 19 os.close(); 20 } 21 catch(Exception e){ 22 fis.close(); 23 os.flush(); 24 os.close(); 25 } 26 27 %>